diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-07-27 12:01:56 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-27 12:01:56 +0000 |
commit | 433ca822324e45d3f9267e3f7a2cc90e0e66bf04 (patch) | |
tree | ebd3ef727a94034118475dcbbf239a623e66c248 | |
parent | d1b1f7fda7b74c168fc5621e48b0704bb23f73ae (diff) | |
parent | 185638d819896229e0ec947daacdad76823901f5 (diff) |
Merge staging-next into staging
55 files changed, 818 insertions, 165 deletions
diff --git a/lib/modules.nix b/lib/modules.nix index f16df20425ef3..4966619f66308 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -639,7 +639,7 @@ let unmatchedDefns = []; } else if optionDecls != [] then - if all (x: x.options.type.name == "submodule") optionDecls + if all (x: x.options.type.name or null == "submodule") optionDecls # Raw options can only be merged into submodules. Merging into # attrsets might be nice, but ambiguous. Suppose we have # attrset as a `attrsOf submodule`. User declares option diff --git a/lib/path/default.nix b/lib/path/default.nix index 3a871bc05283c..24a7f85affc1d 100644 --- a/lib/path/default.nix +++ b/lib/path/default.nix @@ -271,8 +271,57 @@ in /* No rec! Add dependencies on this file at the top. */ { second argument: "${toString path2}" with root "${toString path2Deconstructed.root}"''; joinRelPath components; + /* + Split the filesystem root from a [path](https://nixos.org/manual/nix/stable/language/values.html#type-path). + The result is an attribute set with these attributes: + - `root`: The filesystem root of the path, meaning that this directory has no parent directory. + - `subpath`: The [normalised subpath string](#function-library-lib.path.subpath.normalise) that when [appended](#function-library-lib.path.append) to `root` returns the original path. + + Laws: + - [Appending](#function-library-lib.path.append) the `root` and `subpath` gives the original path: + + p == + append + (splitRoot p).root + (splitRoot p).subpath + + - Trying to get the parent directory of `root` using [`readDir`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-readDir) returns `root` itself: + + dirOf (splitRoot p).root == (splitRoot p).root + + Type: + splitRoot :: Path -> { root :: Path, subpath :: String } + + Example: + splitRoot /foo/bar + => { root = /.; subpath = "./foo/bar"; } + + splitRoot /. + => { root = /.; subpath = "./."; } + + # Nix neutralises `..` path components for all path values automatically + splitRoot /foo/../bar + => { root = /.; subpath = "./bar"; } + + splitRoot "/foo/bar" + => <error> + */ + splitRoot = path: + assert assertMsg + (isPath path) + "lib.path.splitRoot: Argument is of type ${typeOf path}, but a path was expected"; + let + deconstructed = deconstructPath path; + in { + root = deconstructed.root; + subpath = joinRelPath deconstructed.components; + }; + /* Whether a value is a valid subpath string. + A subpath string points to a specific file or directory within an absolute base directory. + It is a stricter form of a relative path that excludes `..` components, since those could escape the base directory. + - The value is a string - The string is not empty diff --git a/lib/path/tests/unit.nix b/lib/path/tests/unit.nix index 3e4b216f099ff..8bfb6f201219f 100644 --- a/lib/path/tests/unit.nix +++ b/lib/path/tests/unit.nix @@ -3,7 +3,7 @@ { libpath }: let lib = import libpath; - inherit (lib.path) hasPrefix removePrefix append subpath; + inherit (lib.path) hasPrefix removePrefix append splitRoot subpath; cases = lib.runTests { # Test examples from the lib.path.append documentation @@ -74,6 +74,23 @@ let expected = "./foo"; }; + testSplitRootExample1 = { + expr = splitRoot /foo/bar; + expected = { root = /.; subpath = "./foo/bar"; }; + }; + testSplitRootExample2 = { + expr = splitRoot /.; + expected = { root = /.; subpath = "./."; }; + }; + testSplitRootExample3 = { + expr = splitRoot /foo/../bar; + expected = { root = /.; subpath = "./bar"; }; + }; + testSplitRootExample4 = { + expr = (builtins.tryEval (splitRoot "/foo/bar")).success; + expected = false; + }; + # Test examples from the lib.path.subpath.isValid documentation testSubpathIsValidExample1 = { expr = subpath.isValid null; diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 180cca9955e87..4adbd69effbb8 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -371,6 +371,9 @@ checkConfigError \ config.set \ ./declare-set.nix ./declare-enable-nested.nix +# Check that that merging of option collisions doesn't depend on type being set +checkConfigError 'The option .group..*would be a parent of the following options, but its type .<no description>. does not support nested options.\n\s*- option.s. with prefix .group.enable..*' config.group.enable ./merge-typeless-option.nix + # Test that types.optionType merges types correctly checkConfigOutput '^10$' config.theOption.int ./optionTypeMerging.nix checkConfigOutput '^"hello"$' config.theOption.str ./optionTypeMerging.nix diff --git a/lib/tests/modules/merge-typeless-option.nix b/lib/tests/modules/merge-typeless-option.nix new file mode 100644 index 0000000000000..627d90b15db20 --- /dev/null +++ b/lib/tests/modules/merge-typeless-option.nix @@ -0,0 +1,25 @@ +{ lib, ... }: + +let + typeless = + { lib, ... }: + + { + options.group = lib.mkOption { }; + }; + childOfTypeless = + { lib, ... }: + + { + options.group.enable = lib.mkEnableOption "nothing"; + }; +in + +{ + imports = [ + typeless + childOfTypeless + ]; + + config.group.enable = false; +} diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9f38fef33408b..08d54dbd86191 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17552,6 +17552,12 @@ fingerprint = "AEF2 3487 66F3 71C6 89A7 3600 95A4 2FE8 3535 25F9"; }]; }; + vinetos = { + name = "vinetos"; + email = "vinetosdev@gmail.com"; + github = "vinetos"; + githubId = 10145351; + }; vinnymeller = { email = "vinnymeller@proton.me"; github = "vinnymeller"; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 2b4ee516aa19f..d8a47e93afc74 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -199,6 +199,7 @@ in gnome.adwaita-icon-theme gtk3.out # for gtk-launch program onboard + orca # elementary/greeter#668 qgnomeplatform sound-theme-freedesktop xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ diff --git a/pkgs/applications/editors/jupyter-kernels/octave/default.nix b/pkgs/applications/editors/jupyter-kernels/octave/default.nix index cb814ddbc95a3..a9770a5c1befa 100644 --- a/pkgs/applications/editors/jupyter-kernels/octave/default.nix +++ b/pkgs/applications/editors/jupyter-kernels/octave/default.nix @@ -42,7 +42,7 @@ rec { dontInstall = true; buildPhase = '' - convert ./libgui/src/icons/logo.png -resize ${size}x${size} $out + convert ./libgui/src/icons/octave/128x128/logo.png -resize ${size}x${size} $out ''; }; diff --git a/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix b/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix index c37a9e3bc73be..7223d9e69a896 100644 --- a/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix +++ b/pkgs/applications/editors/jupyter-kernels/octave/kernel.nix @@ -18,11 +18,11 @@ buildPythonPackage rec { # There appears to be a similar problem with metakernel's tests doCheck = false; - meta = with lib; { + meta = { description = "A Jupyter kernel for Octave."; homepage = "https://github.com/Calysto/octave_kernel"; - license = licenses.bsd3; - maintainers = with maintainers; [ thomasjm ]; - platforms = platforms.all; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ thomasjm ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/applications/editors/tijolo/default.nix b/pkgs/applications/editors/tijolo/default.nix new file mode 100644 index 0000000000000..fbed493f2f8cb --- /dev/null +++ b/pkgs/applications/editors/tijolo/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, lib +, fetchFromGitHub +, crystal +, vte +, libgit2 +, editorconfig-core-c +, gtksourceview4 +, wrapGAppsHook +, desktopToDarwinBundle +}: +crystal.buildCrystalPackage rec { + pname = "tijolo"; + version = "0.7.3"; + + src = fetchFromGitHub { + owner = "hugopl"; + repo = "tijolo"; + rev = "v${version}"; + hash = "sha256-15not/B+O+wIZ/fvLFy26/dyvq0E+bZUeoSZ6HxMMKg="; + }; + + nativeBuildInputs = [ wrapGAppsHook ] + ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ]; + buildInputs = [ vte libgit2 gtksourceview4 editorconfig-core-c ]; + + buildTargets = [ "all" ]; + doCheck = false; + + shardsFile = ./tijolo-shards.nix; + + installTargets = [ "install" "install-fonts"]; + doInstallCheck = false; + + meta = with lib; { + description = "Lightweight, keyboard-oriented IDE for the masses"; + homepage = "https://github.com/hugopl/tijolo"; + license = licenses.mit; + mainProgram = "tijolo"; + maintainers = with maintainers; [ sund3RRR ]; + }; +} diff --git a/pkgs/applications/editors/tijolo/tijolo-shards.nix b/pkgs/applications/editors/tijolo/tijolo-shards.nix new file mode 100644 index 0000000000000..480251e777552 --- /dev/null +++ b/pkgs/applications/editors/tijolo/tijolo-shards.nix @@ -0,0 +1,27 @@ +{ + compiled_license = { + url = "https://github.com/elorest/compiled_license.git"; + rev = "v1.2.2"; + sha256 = "1f412r6m31cc093lcw31m2rp5s3y7vh6q3wc3xh9b8vccvmj21p7"; + }; + fzy = { + url = "https://github.com/hugopl/fzy.git"; + rev = "v0.5.5"; + sha256 = "1zk95m43ymx9ilwr6iw9l44nkmp4sas28ib0dkr07hkhgrkw68sv"; + }; + gobject = { + url = "https://github.com/jhass/crystal-gobject.git"; + rev = "v0.10.0"; + sha256 = "02cc3486ifbffdbvgl75ylwn47gpfb2j0srz92jx5yz1d596x746"; + }; + toml = { + url = "https://github.com/crystal-community/toml.cr.git"; + rev = "v0.7.0"; + sha256 = "0vznx2irvx6m8w6chdf9ms72n2w0cf2m5cwh0cjmp1jz9y3xwv7z"; + }; + version_from_shard = { + url = "https://github.com/hugopl/version_from_shard.git"; + rev = "v1.2.5"; + sha256 = "0xizj0q4rd541rwjbx04cjifc2gfx4l5v6q2y7gmd0ndjmkgb8ik"; + }; +} diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix index 63e03bc00ad18..a07d899ee7495 100644 --- a/pkgs/applications/emulators/retroarch/cores.nix +++ b/pkgs/applications/emulators/retroarch/cores.nix @@ -360,6 +360,17 @@ in }; }; + dosbox-pure = mkLibretroCore { + core = "dosbox-pure"; + CXXFLAGS = "-std=gnu++11"; + hardeningDisable = [ "format" ]; + makefile = "Makefile"; + meta = { + description = "Port of DOSBox to libretro aiming for simplicity and ease of use."; + license = lib.licenses.gpl2Only; + }; + }; + eightyone = mkLibretroCore { core = "81"; src = getCoreSrc "eightyone"; diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json index 1b52cda5c1e32..410e782d0a931 100644 --- a/pkgs/applications/emulators/retroarch/hashes.json +++ b/pkgs/applications/emulators/retroarch/hashes.json @@ -1,9 +1,9 @@ { "2048": { - "owner": "libretro", - "repo": "libretro-2048", - "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2", - "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=" + "owner": "libretro", + "repo": "libretro-2048", + "rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2", + "hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=" }, "atari800": { "owner": "libretro", @@ -144,6 +144,12 @@ "rev": "b7b24262c282c0caef2368c87323ff8c381b3102", "hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I=" }, + "dosbox-pure": { + "owner": "schellingb", + "repo": "dosbox-pure", + "rev": "035e01e43623f83a9e71f362364fd74091379455", + "hash": "sha256-j7Or4yTK5l+ZVC5UFeym9sLx+88PRlofoBT1tMuf31A=" + }, "eightyone": { "owner": "libretro", "repo": "81-libretro", diff --git a/pkgs/applications/emulators/retroarch/update_cores.py b/pkgs/applications/emulators/retroarch/update_cores.py index bd325e5739a73..a091958c38b0e 100755 --- a/pkgs/applications/emulators/retroarch/update_cores.py +++ b/pkgs/applications/emulators/retroarch/update_cores.py @@ -36,6 +36,7 @@ CORES = { "desmume2015": {"repo": "desmume2015"}, "dolphin": {"repo": "dolphin"}, "dosbox": {"repo": "dosbox-libretro"}, + "dosbox-pure": {"repo": "dosbox-pure", "owner": "schellingb"}, "eightyone": {"repo": "81-libretro"}, "fbalpha2012": {"repo": "fbalpha2012"}, "fbneo": {"repo": "fbneo"}, diff --git a/pkgs/applications/file-managers/portfolio-filemanager/default.nix b/pkgs/applications/file-managers/portfolio-filemanager/default.nix index dabf130269386..ef28d8cea340c 100644 --- a/pkgs/applications/file-managers/portfolio-filemanager/default.nix +++ b/pkgs/applications/file-managers/portfolio-filemanager/default.nix @@ -66,9 +66,7 @@ python3.pkgs.buildPythonApplication rec { ''; passthru = { - updateScript = nix-update-script { - attrPath = "portfolio-filemanager"; - }; + updateScript = nix-update-script { }; }; meta = with lib; { diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix index b53c57b4d4603..48ef9fc8c010c 100644 --- a/pkgs/applications/graphics/komikku/default.nix +++ b/pkgs/applications/graphics/komikku/default.nix @@ -80,9 +80,7 @@ python3.pkgs.buildPythonApplication rec { ''; passthru = { - updateScript = nix-update-script { - attrPath = "komikku"; - }; + updateScript = nix-update-script { }; }; meta = with lib; { diff --git a/pkgs/applications/misc/dialect/default.nix b/pkgs/applications/misc/dialect/default.nix index ebfbfedf53d33..519f12490f18a 100644 --- a/pkgs/applications/misc/dialect/default.nix +++ b/pkgs/applications/misc/dialect/default.nix @@ -69,9 +69,7 @@ python3.pkgs.buildPythonApplication rec { # handle setup hooks better strictDeps = false; - passthru.updateScript = nix-update-script { - attrPath = pname; - }; + passthru.updateScript = nix-update-script { }; meta = with lib; { homepage = "https://github.com/dialect-app/dialect"; diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix index 4395cf7721de4..4d8d3aa781121 100644 --- a/pkgs/applications/misc/organicmaps/default.nix +++ b/pkgs/applications/misc/organicmaps/default.nix @@ -67,7 +67,6 @@ mkDerivation rec { passthru = { updateScript = nix-update-script { - attrPath = pname; extraArgs = [ "-vr" "(.*)-android" ]; }; }; diff --git a/pkgs/applications/misc/tuba/default.nix b/pkgs/applications/misc/tuba/default.nix index f1a33bc100097..5b97307abcf1a 100644 --- a/pkgs/applications/misc/tuba/default.nix +++ b/pkgs/applications/misc/tuba/default.nix @@ -66,9 +66,7 @@ stdenv.mkDerivation rec { ]); passthru = { - updateScript = nix-update-script { - attrPath = "tuba"; - }; + updateScript = nix-update-script { }; }; meta = with lib; { diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix index 820bfa8b4efe9..11831c24b4d37 100644 --- a/pkgs/applications/networking/nextcloud-client/default.nix +++ b/pkgs/applications/networking/nextcloud-client/default.nix @@ -4,7 +4,6 @@ , cmake , extra-cmake-modules , inotify-tools -, installShellFiles , libcloudproviders , librsvg , libsecret @@ -26,7 +25,7 @@ mkDerivation rec { pname = "nextcloud-client"; - version = "3.9.0"; + version = "3.9.1"; outputs = [ "out" "dev" ]; @@ -34,7 +33,7 @@ mkDerivation rec { owner = "nextcloud"; repo = "desktop"; rev = "v${version}"; - sha256 = "sha256-XcQYttd5dl2TCbBxOlRBg8/mEiHekoxayPi81ot7N7o="; + sha256 = "sha256-DQM7n7rTk1q+F8H8OpiEgg1pvIzQw2UwBObbj20O5MQ="; }; patches = [ diff --git a/pkgs/applications/networking/twingate/default.nix b/pkgs/applications/networking/twingate/default.nix index c62893938bfab..cd72539f77cdb 100644 --- a/pkgs/applications/networking/twingate/default.nix +++ b/pkgs/applications/networking/twingate/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "twingate"; - version = "1.0.60"; + version = "1.0.83+88994"; src = fetchurl { - url = "https://binaries.twingate.com/client/linux/DEB/${version}/twingate-amd64.deb"; - sha256 = "b308c422af8a33ecd58e21a10a72c353351a189df67006e38d1ec029a93d5678"; + url = "https://binaries.twingate.com/client/linux/DEB/x86_64/${version}/twingate-amd64.deb"; + hash = "sha256-rPYjGSrjSNSdjMZRP0Gd7a9lRC+I06oOvZZEUEJ6s5k="; }; buildInputs = [ diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix index 05c2246d37ae2..d08a342a28f1f 100644 --- a/pkgs/applications/science/logic/elan/default.nix +++ b/pkgs/applications/science/logic/elan/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { pname = "elan"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "leanprover"; repo = "elan"; rev = "v${version}"; - sha256 = "sha256-97gkBViNIqs03JuPlUOyE/X3UKzF5KVZBKH3JnXw37E="; + sha256 = "sha256-gnE0uISKfUqUdmrHI6F7nLOFcsQALjRy584nMRrC68w="; }; - cargoHash = "sha256-9aLCElsoWTUsuy+muhCcgo/1xmRYsbQDvhRa5YsV3lM="; + cargoHash = "sha256-rjxJ4bGep5OJUWME+EV5CqEsFY1SuoU07ANL0cbD+DU="; nativeBuildInputs = [ pkg-config makeWrapper ]; diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index 9099a38b75b3e..d095974513cb2 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -242,7 +242,11 @@ rec { */ - writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";}; + writeScriptBin = name: text: writeTextFile { + inherit name text; + executable = true; + destination = "/bin/${name}"; + }; /* Similar to writeScript. Writes a Shell script and checks its syntax. @@ -374,6 +378,9 @@ rec { # Pointless to do this on a remote machine. preferLocalBuild = true; allowSubstitutes = false; + meta = { + mainProgram = name; + }; } '' n=$out/bin/$name diff --git a/pkgs/build-support/trivial-builders/test/default.nix b/pkgs/build-support/trivial-builders/test/default.nix new file mode 100644 index 0000000000000..683f4b9fd04f3 --- /dev/null +++ b/pkgs/build-support/trivial-builders/test/default.nix @@ -0,0 +1,33 @@ +/* + Run all tests with: + + cd nixpkgs + nix-build -A tests.trivial-builders + + or run a specific test with: + + cd nixpkgs + nix-build -A tests.trivial-builders.foo + +*/ + +{ callPackage, lib, stdenv }: +let + inherit (lib) recurseIntoAttrs; +in +recurseIntoAttrs { + concat = callPackage ./concat-test.nix {}; + linkFarm = callPackage ./link-farm.nix {}; + overriding = callPackage ../test-overriding.nix {}; + references = + # VM test not supported beyond linux yet + if stdenv.hostPlatform.isLinux + then callPackage ./references.nix {} + else null; + writeCBin = callPackage ./writeCBin.nix {}; + writeScriptBin = callPackage ./writeScriptBin.nix {}; + writeShellScript = callPackage ./write-shell-script.nix {}; + writeShellScriptBin = callPackage ./writeShellScriptBin.nix {}; + writeStringReferencesToFile = callPackage ./writeStringReferencesToFile.nix {}; + writeTextFile = callPackage ./write-text-file.nix {}; +} diff --git a/pkgs/build-support/trivial-builders/test/write-text-file.nix b/pkgs/build-support/trivial-builders/test/write-text-file.nix index ac83a75fca4ab..2e6685c1980bf 100644 --- a/pkgs/build-support/trivial-builders/test/write-text-file.nix +++ b/pkgs/build-support/trivial-builders/test/write-text-file.nix @@ -1,34 +1,71 @@ -{ writeTextFile }: +/* + To run: + + cd nixpkgs + nix-build -A tests.trivial-builders.writeTextFile + + or to run an individual test case + + cd nixpkgs + nix-build -A tests.trivial-builders.writeTextFile.foo +*/ +{ lib, runCommand, runtimeShell, writeTextFile }: let veryWeirdName = ''here's a name with some "bad" characters, like spaces and quotes''; -in writeTextFile { - name = "weird-names"; - destination = "/etc/${veryWeirdName}"; - text = ''passed!''; - checkPhase = '' - # intentionally hardcode everything here, to make sure - # Nix does not mess with file paths - - name="here's a name with some \"bad\" characters, like spaces and quotes" - fullPath="$out/etc/$name" - - if [ -f "$fullPath" ]; then - echo "[PASS] File exists!" - else - echo "[FAIL] File was not created at expected path!" - exit 1 - fi - - content=$(<"$fullPath") - expected="passed!" - - if [ "$content" = "$expected" ]; then - echo "[PASS] Contents match!" - else - echo "[FAIL] File contents don't match!" - echo " Expected: $expected" - echo " Got: $content" - exit 2 - fi - ''; +in +lib.recurseIntoAttrs { + + different-exe-name = + let + pkg = writeTextFile { + name = "bar"; + destination = "/bin/foo"; + executable = true; + text = '' + #!${runtimeShell} + echo hi + ''; + }; + in + assert pkg.meta.mainProgram == "foo"; + assert baseNameOf (lib.getExe pkg) == "foo"; + assert pkg.name == "bar"; + runCommand "test-writeTextFile-different-exe-name" {} '' + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + x=$(foo) + [[ "$x" == hi ]] + touch $out + ''; + + weird-name = writeTextFile { + name = "weird-names"; + destination = "/etc/${veryWeirdName}"; + text = ''passed!''; + checkPhase = '' + # intentionally hardcode everything here, to make sure + # Nix does not mess with file paths + + name="here's a name with some \"bad\" characters, like spaces and quotes" + fullPath="$out/etc/$name" + + if [ -f "$fullPath" ]; then + echo "[PASS] File exists!" + else + echo "[FAIL] File was not created at expected path!" + exit 1 + fi + + content=$(<"$fullPath") + expected="passed!" + + if [ "$content" = "$expected" ]; then + echo "[PASS] Contents match!" + else + echo "[FAIL] File contents don't match!" + echo " Expected: $expected" + echo " Got: $content" + exit 2 + fi + ''; + }; } diff --git a/pkgs/build-support/trivial-builders/test/writeCBin.nix b/pkgs/build-support/trivial-builders/test/writeCBin.nix new file mode 100644 index 0000000000000..56cab45b38016 --- /dev/null +++ b/pkgs/build-support/trivial-builders/test/writeCBin.nix @@ -0,0 +1,43 @@ +/* + Run with: + + cd nixpkgs + nix-build -A tests.trivial-builders.writeCBin +*/ + +{ lib, writeCBin, runCommand }: +let + output = "hello"; + pkg = writeCBin "test-script" '' + #include <stdio.h> + int main () { + printf("hello\n"); + return 0; + } + ''; +in + assert pkg.meta.mainProgram == "test-script"; + runCommand "test-writeCBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out + '' + diff --git a/pkgs/build-support/trivial-builders/test/writeScriptBin.nix b/pkgs/build-support/trivial-builders/test/writeScriptBin.nix new file mode 100644 index 0000000000000..1487443130dab --- /dev/null +++ b/pkgs/build-support/trivial-builders/test/writeScriptBin.nix @@ -0,0 +1,39 @@ +/* + Run with: + + cd nixpkgs + nix-build -A tests.trivial-builders.writeShellScriptBin +*/ + +{ lib, writeScriptBin, runCommand }: +let + output = "hello"; + pkg = writeScriptBin "test-script" '' + echo ${lib.escapeShellArg output} + ''; +in + assert pkg.meta.mainProgram == "test-script"; + runCommand "test-writeScriptBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out + '' + diff --git a/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix b/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix new file mode 100644 index 0000000000000..e93410e25bcb8 --- /dev/null +++ b/pkgs/build-support/trivial-builders/test/writeShellScriptBin.nix @@ -0,0 +1,39 @@ +/* + Run with: + + cd nixpkgs + nix-build -A tests.trivial-builders.writeShellScriptBin +*/ + +{ lib, writeShellScriptBin, runCommand }: +let + output = "hello"; + pkg = writeShellScriptBin "test-script" '' + echo ${lib.escapeShellArg output} + ''; +in + assert pkg.meta.mainProgram == "test-script"; + runCommand "test-writeShellScriptBin" { } '' + + echo Testing with getExe... + + target=${lib.getExe pkg} + expected=${lib.escapeShellArg output} + got=$("$target") + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + echo Testing with makeBinPath... + + PATH="${lib.makeBinPath [ pkg ]}:$PATH" + got=$(test-script) + if [[ "$got" != "$expected" ]]; then + echo "wrong output: expected $expected, got $got" + exit 1 + fi + + touch $out + '' + diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 94a6e533dda30..c3f31624fff21 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -30,13 +30,13 @@ stdenv.mkDerivation rec { pname = "elementary-greeter"; - version = "6.1.1"; + version = "7.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = "greeter"; rev = version; - sha256 = "sha256-6rjZOX9JOTjZwqWVWTtKjGNy8KgWllE9VQZzwhuBAwE="; + sha256 = "sha256-m/xuaMCAPoqhl/M547mdafBPBu3UhHmVmBIUKQoS5L8="; }; patches = [ diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix index 163351075c6a4..a5a011fbaa196 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-a11y"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-iS+xTCjbRZfaUiOtHbQ+/SaajfWWAlC9XiZbIGZPO9I="; + sha256 = "sha256-HECK+IEUAKJ4F1TotTHF84j4BYS6EZdAtLBoM401+mw="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index 134c7f9e8ed02..805956d332792 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "elementary-settings-daemon"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "elementary"; repo = "settings-daemon"; rev = version; - sha256 = "sha256-464caR36oSUhxCU0utP5eMYiiBekU6W4bVIbsUoiFRI="; + sha256 = "sha256-mEmc9uLwUTObsP70P0G2vcRdQF6do/wMTQjvfLUU//o="; }; nativeBuildInputs = [ @@ -58,20 +58,8 @@ stdenv.mkDerivation rec { postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py - - substituteInPlace data/io.elementary.settings-daemon.check-for-firmware-updates.service \ - --replace "/usr/bin/busctl" "${systemd}/bin/busctl" - ''; - - postInstall = '' - # https://github.com/elementary/settings-daemon/pull/75 - mkdir -p $out/etc/xdg/autostart - ln -s $out/share/applications/io.elementary.settings-daemon.desktop $out/etc/xdg/autostart/io.elementary.settings-daemon.desktop ''; - # https://github.com/elementary/settings-daemon/pull/74 - PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; - passthru = { updateScript = nix-update-script { }; }; diff --git a/pkgs/development/coq-modules/trakt/default.nix b/pkgs/development/coq-modules/trakt/default.nix index ba66c4f86efcc..e08d7b8d50ca5 100644 --- a/pkgs/development/coq-modules/trakt/default.nix +++ b/pkgs/development/coq-modules/trakt/default.nix @@ -4,12 +4,16 @@ mkCoqDerivation { pname = "trakt"; owner = "ecranceMERCE"; - release."1.0".rev = "d1c9daba8fe0584b526047862dd27ddf836dbbf2"; release."1.0".sha256 = "sha256-Qhw5fWFYxUFO2kIWWz/og+4fuy9aYG27szfNk3IglhY="; + release."1.1".sha256 = "sha256-JmrtM9WcT8Bfy0WZCw8xdubuMomyXmfLXJwpnCNrvsg="; + release."1.2".sha256 = "sha256-YQRtK2MjjsMlytdu9iutUDKhwOo4yWrSwhyBb2zNHoE="; + release."1.2+8.13".sha256 = "sha256-hozms4sPSMr4lFkJ20x+uW9Wqt067bifnPQxdGyKhQQ="; inherit version; defaultVersion = with lib.versions; lib.switch [ coq.version ] [ - { cases = [ (range "8.13" "8.17") ]; out = "1.0"; } + { cases = [ (range "8.15" "8.17") ]; out = "1.2"; } + { cases = [ (isEq "8.13") ]; out = "1.2+8.13"; } + { cases = [ (range "8.13" "8.17") ]; out = "1.1"; } ] null; propagatedBuildInputs = [ coq-elpi ]; @@ -17,7 +21,7 @@ mkCoqDerivation { meta = with lib; { description = "A generic goal preprocessing tool for proof automation tactics in Coq"; maintainers = with maintainers; [ siraben ]; - license = licenses.cecill-b; + license = licenses.lgpl3Plus; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/intel-media-driver/default.nix b/pkgs/development/libraries/intel-media-driver/default.nix index 4ed72f4acd110..cb014ed80bf9b 100644 --- a/pkgs/development/libraries/intel-media-driver/default.nix +++ b/pkgs/development/libraries/intel-media-driver/default.nix @@ -30,8 +30,8 @@ stdenv.mkDerivation rec { patches = [ # fix platform detection (fetchpatch { - url = "https://salsa.debian.org/multimedia-team/intel-media-driver-non-free/-/raw/master/debian/patches/0002-Remove-settings-based-on-ARCH.patch"; - sha256 = "sha256-f4M0CPtAVf5l2ZwfgTaoPw7sPuAP/Uxhm5JSHEGhKT0="; + url = "https://salsa.debian.org/multimedia-team/intel-media-driver-non-free/-/raw/04ffb03f744780a55aba311c612d708b00584bb7/debian/patches/0002-Remove-settings-based-on-ARCH.patch"; + sha256 = "sha256-o/Pg0S53SYh3O7L+AwxOPl1Bx4TS6iKB8ql8GhhHI/o="; }) ]; diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix index 47dbbc21c4f4d..a2d14ff72a7e9 100644 --- a/pkgs/development/python-modules/aiohomekit/default.nix +++ b/pkgs/development/python-modules/aiohomekit/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , aiocoap +, async-interrupt , bleak , bleak-retry-connector , chacha20poly1305 @@ -18,7 +19,7 @@ buildPythonPackage rec { pname = "aiohomekit"; - version = "2.6.10"; + version = "2.6.11"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -27,7 +28,7 @@ buildPythonPackage rec { owner = "Jc2k"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-2+PqXIKjEJWfTUAJYctWojwoWl7QOfxbbH6c7ZlTNRI="; + hash = "sha256-oTH/YM21l9N03F9zFTOAvxgdG6SyL6qXeeA28jLAOq8="; }; nativeBuildInputs = [ @@ -36,6 +37,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ aiocoap + async-interrupt bleak bleak-retry-connector chacha20poly1305 diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix index b939e508bbc30..82a4fc9d7848b 100644 --- a/pkgs/development/python-modules/altair/default.nix +++ b/pkgs/development/python-modules/altair/default.nix @@ -1,62 +1,74 @@ -{ lib, buildPythonPackage, fetchPypi, isPy27 -, entrypoints -, glibcLocales -, ipython -, jinja2 -, jsonschema +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# Runtime dependencies +, hatchling +, toolz , numpy +, jsonschema +, typing-extensions , pandas +, jinja2 +, importlib-metadata + +# Build, dev and test dependencies +, ipython , pytestCheckHook -, pythonOlder -, recommonmark -, six -, sphinx -, toolz -, typing ? null , vega_datasets +, sphinx }: buildPythonPackage rec { pname = "altair"; - version = "4.2.2"; - disabled = isPy27; + version = "5.0.1"; + format = "pyproject"; + disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-OTmaJnxJsw0QLBBBHmerJjdBVqhLGuufzRUUBCm6ScU="; + src = fetchFromGitHub { + owner = "altair-viz"; + repo = "altair"; + rev = "refs/tags/v${version}"; + hash = "sha256-7bTrfryu4oaodVGNFNlVk9vXmDA5/9ahvCmvUGzZ5OQ="; }; + nativeBuildInputs = [ + hatchling + ]; + propagatedBuildInputs = [ - entrypoints + jinja2 jsonschema numpy pandas - six toolz - jinja2 - ] ++ lib.optionals (pythonOlder "3.5") [ typing ]; + ] ++ lib.optional (pythonOlder "3.8") importlib-metadata + ++ lib.optional (pythonOlder "3.11") typing-extensions; nativeCheckInputs = [ - glibcLocales ipython - pytestCheckHook - recommonmark sphinx vega_datasets + pytestCheckHook ]; pythonImportsCheck = [ "altair" ]; - # avoid examples directory, which fetches web resources - preCheck = '' - cd altair/tests - ''; + disabledTestPaths = [ + # Disabled because it requires internet connectivity + "tests/test_examples.py" + # TODO: Disabled because of missing altair_viewer package + "tests/vegalite/v5/test_api.py" + # avoid updating files and dependency on black + "tests/test_toplevel.py" + ]; meta = with lib; { description = "A declarative statistical visualization library for Python."; - homepage = "https://github.com/altair-viz/altair"; + homepage = "https://altair-viz.github.io"; + downloadPage = "https://github.com/altair-viz/altair"; license = licenses.bsd3; - maintainers = with maintainers; [ teh ]; - platforms = platforms.unix; + maintainers = with maintainers; [ teh vinetos ]; }; } diff --git a/pkgs/development/python-modules/async-interrupt/default.nix b/pkgs/development/python-modules/async-interrupt/default.nix new file mode 100644 index 0000000000000..b6e16f54963dd --- /dev/null +++ b/pkgs/development/python-modules/async-interrupt/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytest-asyncio +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "async-interrupt"; + version = "1.1.1"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = "async_interrupt"; + rev = "refs/tags/v${version}"; + hash = "sha256-mbvOj1ybCkDNr3je3PtFwmddkh2k/nHOerpC6hGSUYI="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace " --cov=async_interrupt --cov-report=term-missing:skip-covered" "" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "async_interrupt" + ]; + + meta = with lib; { + description = "Context manager to raise an exception when a future is done"; + homepage = "https://github.com/bdraco/async_interrupt"; + changelog = "https://github.com/bdraco/async_interrupt/blob/${version}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix index 67dcb1699eef0..44599435f149a 100644 --- a/pkgs/development/python-modules/auth0-python/default.nix +++ b/pkgs/development/python-modules/auth0-python/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "auth0-python"; - version = "4.3.0"; + version = "4.4.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-enSG8rO0gMpSaf6otdx94xncyxc6Uv570VKVVQkit1g="; + hash = "sha256-Yf8/NmQygdikQXv9sUukQEKKd+FcpSPnGbbi8kzVyLo="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/bentoml/default.nix b/pkgs/development/python-modules/bentoml/default.nix new file mode 100644 index 0000000000000..a48222d9c2437 --- /dev/null +++ b/pkgs/development/python-modules/bentoml/default.nix @@ -0,0 +1,198 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, hatchling +, hatch-vcs +, aiohttp +, attrs +, cattrs +, circus +, click +, click-option-group +, cloudpickle +, deepmerge +, fs +, jinja2 +, numpy +, opentelemetry-api +, opentelemetry-instrumentation +, opentelemetry-instrumentation-aiohttp-client +, opentelemetry-instrumentation-asgi +, opentelemetry-sdk +, opentelemetry-semantic-conventions +, opentelemetry-util-http +, packaging +, pathspec +, pip-requirements-parser +, pip-tools +, prometheus-client +, psutil +, pynvml +, python-dateutil +, python-json-logger +, python-multipart +, pyyaml +, requests +, rich +, schema +, simple-di +, starlette +, uvicorn +, watchfiles +, fs-s3fs +, grpcio +, grpcio-health-checking +, opentelemetry-instrumentation-grpc +, protobuf +, grpcio-channelz +, grpcio-reflection +, filetype +, pillow +, pydantic +, pandas +, pyarrow +, opentelemetry-exporter-otlp-proto-http +# https://pypi.org/project/opentelemetry-exporter-jaeger-proto-grpc/ +# , opentelemetry-exporter-jaeger # support for this exporter ends in july 2023 +, opentelemetry-exporter-otlp +# , opentelemetry-exporter-zipkin +, tritonclient +# native check inputs +, pytestCheckHook +, scikit-learn +, lxml +, orjson +, pytest-asyncio +, fastapi +}: + +let + version = "1.1.0"; + aws = [ fs-s3fs ]; + grpc = [ + grpcio + grpcio-health-checking + opentelemetry-instrumentation-grpc + protobuf + ]; + io-file = [ filetype ]; + io-image = io-file ++ [ pillow ]; + io-json = [ pydantic ]; + io-pandas = [ pandas pyarrow ]; + grpc-reflection = grpc ++ [ grpcio-reflection ]; + grpc-channelz = grpc ++ [ grpcio-channelz ]; + monitor-otlp = [ opentelemetry-exporter-otlp-proto-http ]; + # tracing-jaeger = [ opentelemetry-exporter-jaeger ]; + tracing-otlp = [ opentelemetry-exporter-otlp ]; + # tracing-zipkin = [ opentelemetry-exporter-zipkin ]; + io = io-json ++ io-image ++ io-pandas ++ io-file; + tracing = tracing-otlp; # ++ tracing-zipkin ++ tracing-jaeger + optional-dependencies = { + all = aws ++ io ++ grpc ++ grpc-reflection ++ grpc-channelz ++ tracing ++ monitor-otlp; + inherit aws grpc io-file io-image io-json io-pandas io grpc-reflection + grpc-channelz monitor-otlp tracing-otlp tracing; + triton = [ tritonclient ] ++ tritonclient.optional-dependencies.http ++ tritonclient.optional-dependencies.grpc; + }; +in +buildPythonPackage { + pname = "bentoml"; + inherit version; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "bentoml"; + repo = "BentoML"; + rev = "v${version}"; + hash = "sha256-ZhgBw/zBazfVNPvcfAlHEGvc9hzVm7aKLXmwwvMmF0A="; + }; + + pythonRelaxDeps = [ + "opentelemetry-semantic-conventions" + ]; + + nativeBuildInputs = [ + hatchling + hatch-vcs + ]; + + propagatedBuildInputs = [ + aiohttp + attrs + cattrs + circus + click + click-option-group + cloudpickle + deepmerge + fs + jinja2 + numpy + opentelemetry-api + opentelemetry-instrumentation + opentelemetry-instrumentation-aiohttp-client + opentelemetry-instrumentation-asgi + opentelemetry-sdk + opentelemetry-semantic-conventions + opentelemetry-util-http + packaging + pathspec + pip-requirements-parser + pip-tools + prometheus-client + psutil + pynvml + python-dateutil + python-json-logger + python-multipart + pyyaml + requests + rich + schema + simple-di + starlette + uvicorn + watchfiles + ]; + + passthru.optional-dependencies = optional-dependencies; + + pythonImportsCheck = [ "bentoml" ]; + + preCheck = '' + # required for CI testing + # https://github.com/bentoml/BentoML/pull/4056/commits/66302b502a3f4df4e8e6643d2afefefca974073e + export GITHUB_ACTIONS=1 + ''; + + disabledTestPaths = [ + "tests/e2e" + "tests/integration" + ]; + + disabledTests = [ + # flaky test + "test_store" + ]; + + nativeCheckInputs = [ + pytestCheckHook + pandas + pydantic + scikit-learn + lxml + orjson + pytest-asyncio + pillow + fastapi + starlette + ] ++ optional-dependencies.grpc; + + + meta = with lib; { + description = "Build Production-Grade AI Applications"; + homepage = "https://github.com/bentoml/BentoML"; + changelog = "https://github.com/bentoml/BentoML/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ happysalada natsukium ]; + }; +} diff --git a/pkgs/development/python-modules/chiavdf/default.nix b/pkgs/development/python-modules/chiavdf/default.nix index 6f050c6395024..a2ed3295f01f2 100644 --- a/pkgs/development/python-modules/chiavdf/default.nix +++ b/pkgs/development/python-modules/chiavdf/default.nix @@ -14,12 +14,12 @@ buildPythonPackage rec { pname = "chiavdf"; - version = "1.0.9"; + version = "1.0.10"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-G4npp0G8TNk2y/T6myNr8NCfkBdcknsWds+XBZiNnQY="; + hash = "sha256-660Frlaj6WbYOl0sfb5ox6qTzE+jKJR0Qka9nEijSyg="; }; patches = [ diff --git a/pkgs/development/python-modules/elastic-apm/default.nix b/pkgs/development/python-modules/elastic-apm/default.nix index 0ffe64f62c28e..c50b5042a6c1e 100644 --- a/pkgs/development/python-modules/elastic-apm/default.nix +++ b/pkgs/development/python-modules/elastic-apm/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "elastic-apm"; - version = "6.17.0"; + version = "6.18.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -39,7 +39,7 @@ buildPythonPackage rec { owner = "elastic"; repo = "apm-agent-python"; rev = "refs/tags/v${version}"; - hash = "sha256-Tyot/JswIiwxugjxyHcENDAGF9uxwaptTIZwU/GnjAU="; + hash = "sha256-s4aM2HuagqcF2sLHHRh2kj1tglf+JZ7hXT4PcAeFStQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix index 827ee3421bc7a..b9efe304226f0 100644 --- a/pkgs/development/python-modules/elementpath/default.nix +++ b/pkgs/development/python-modules/elementpath/default.nix @@ -6,7 +6,7 @@ buildPythonPackage rec { pname = "elementpath"; - version = "4.1.4"; + version = "4.1.5"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,7 +15,7 @@ buildPythonPackage rec { owner = "sissaschool"; repo = "elementpath"; rev = "refs/tags/v${version}"; - hash = "sha256-cU22JdrCTvg8cF1LK9dYfOTztp3qoXV9VK6aMpbKFHc="; + hash = "sha256-5K2xcnTo3/A6/pCxQn5qZqni7C64p/yNAWWJlhQeKe4="; }; # avoid circular dependency with xmlschema which directly depends on this diff --git a/pkgs/development/python-modules/fontawesomefree/default.nix b/pkgs/development/python-modules/fontawesomefree/default.nix new file mode 100644 index 0000000000000..2b001fecaf8cb --- /dev/null +++ b/pkgs/development/python-modules/fontawesomefree/default.nix @@ -0,0 +1,29 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "fontawesomefree"; + version = "6.4.0"; + format = "wheel"; + + # they only provide a wheel + src = fetchPypi { + inherit pname version format; + dist = "py3"; + python = "py3"; + hash = "sha256-4S7a1xts9pk/x8aupjZ+Ex8vJHtkNfrKmbEjKbrNKyc="; + }; + + pythonImportsCheck = [ + "fontawesomefree" + ]; + + meta = with lib; { + homepage = "https://github.com/FortAwesome/Font-Awesome"; + description = "Icon library and toolkit"; + license = with licenses; [ ofl cc-by-40 ]; + maintainers = with maintainers; [ netali ]; + }; +} diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix index 61e47ab064cb6..0f3f8ae66054b 100644 --- a/pkgs/development/python-modules/holidays/default.nix +++ b/pkgs/development/python-modules/holidays/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "holidays"; - version = "0.28"; + version = "0.29"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "dr-prodigy"; repo = "python-holidays"; rev = "refs/tags/v.${version}"; - hash = "sha256-JHj7fSE8p3TLViDSegl6gm35u53D9NvN7Oa2TBjN9t4="; + hash = "sha256-ijhqu0LzQzpjDSe9ZjNhgdjq/DJuD7oVbRTLX97nGHM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/lv_img_conv/default.nix b/pkgs/development/tools/lv_img_conv/default.nix index dc1a4f5ae0235..e00b960c46b92 100644 --- a/pkgs/development/tools/lv_img_conv/default.nix +++ b/pkgs/development/tools/lv_img_conv/default.nix @@ -52,9 +52,7 @@ buildNpmPackage rec { makeWrapper ${nodePackages.ts-node}/bin/ts-node $out/bin/lv_img_conv --add-flags $out/lib/node_modules/lv_img_conv/lib/cli.ts ''; - passthru.updateScript = nix-update-script { - attrPath = pname; - }; + passthru.updateScript = nix-update-script { }; meta = with lib; { changelog = "https://github.com/lvgl/lv_img_conv/releases/tag/v${version}"; diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix index 8a322533292f6..d5d72d2c99e20 100644 --- a/pkgs/development/tools/micronaut/default.nix +++ b/pkgs/development/tools/micronaut/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "micronaut"; - version = "4.0.0"; + version = "4.0.1"; src = fetchzip { url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip"; - sha256 = "sha256-Ois5peY2Znj33wg/iVUa2r4U1dRU1R8KKvpptwK+o9w="; + sha256 = "sha256-yCCnEFz6PGhfrbWwo/HVLPr6qrIxvlZhAdIU4XoOjqc="; }; nativeBuildInputs = [ makeWrapper installShellFiles ]; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 129b55e740980..a88bd9f0b3bbc 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -4,7 +4,7 @@ , fetchurl, fetchpatch, pkg-config, perl, texinfo, setupDebugInfoDirs, buildPackages # Run time -, ncurses, readline, gmp, mpfr, expat, libipt, zlib, zstd, dejagnu, sourceHighlight +, ncurses, readline, gmp, mpfr, expat, libipt, zlib, zstd, dejagnu, sourceHighlight, libiconv , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null , enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform elfutils, elfutils @@ -57,7 +57,8 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses readline gmp mpfr expat libipt zlib zstd guile sourceHighlight ] ++ lib.optional pythonSupport python3 ++ lib.optional doCheck dejagnu - ++ lib.optional enableDebuginfod (elfutils.override { enableDebuginfod = true; }); + ++ lib.optional enableDebuginfod (elfutils.override { enableDebuginfod = true; }) + ++ lib.optional stdenv.isDarwin libiconv; propagatedNativeBuildInputs = [ setupDebugInfoDirs ]; diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index ba394429926ac..492ab61316211 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "knot-dns"; - version = "3.2.8"; + version = "3.2.9"; src = fetchurl { url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; - sha256 = "ef419a428f327def77780bc90eda763b51e6121fe548543da84b9eb96a261a6e"; + sha256 = "bc1f9eb8c9f67f52805f3acfa2d0153190245fa145b007fafa9068d2da292506"; }; outputs = [ "bin" "out" "dev" ]; diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index b6793d25b6e21..6bfa1c4393c4a 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -66,15 +66,7 @@ with pkgs; cuda = callPackage ./cuda { }; - trivial-builders = recurseIntoAttrs { - writeStringReferencesToFile = callPackage ../build-support/trivial-builders/test/writeStringReferencesToFile.nix {}; - writeTextFile = callPackage ../build-support/trivial-builders/test/write-text-file.nix {}; - writeShellScript = callPackage ../build-support/trivial-builders/test/write-shell-script.nix {}; - references = callPackage ../build-support/trivial-builders/test/references.nix {}; - overriding = callPackage ../build-support/trivial-builders/test-overriding.nix {}; - concat = callPackage ../build-support/trivial-builders/test/concat-test.nix {}; - linkFarm = callPackage ../build-support/trivial-builders/test/link-farm.nix {}; - }; + trivial-builders = callPackage ../build-support/trivial-builders/test/default.nix {}; writers = callPackage ../build-support/writers/test.nix {}; diff --git a/pkgs/tools/admin/ejson2env/default.nix b/pkgs/tools/admin/ejson2env/default.nix index fae0ce1f7b9ae..1b28cdcc4fe4d 100644 --- a/pkgs/tools/admin/ejson2env/default.nix +++ b/pkgs/tools/admin/ejson2env/default.nix @@ -19,9 +19,7 @@ buildGoModule rec { "-X main.version=${version}" ]; - passthru.updateScript = nix-update-script { - attrPath = pname; - }; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "A tool to simplify storing secrets that should be accessible in the shell environment in your git repo."; diff --git a/pkgs/tools/admin/gimme-aws-creds/default.nix b/pkgs/tools/admin/gimme-aws-creds/default.nix index 2beecd158bc52..b565fd0ee020f 100644 --- a/pkgs/tools/admin/gimme-aws-creds/default.nix +++ b/pkgs/tools/admin/gimme-aws-creds/default.nix @@ -93,9 +93,7 @@ python.pkgs.buildPythonApplication rec { passthru = { inherit python; - updateScript = nix-update-script { - attrPath = pname; - }; + updateScript = nix-update-script { }; tests.version = testers.testVersion { package = gimme-aws-creds; command = ''touch tmp.conf && OKTA_CONFIG="tmp.conf" gimme-aws-creds --version''; diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix index 1a4c9b36fbbef..e9da12b3282aa 100644 --- a/pkgs/tools/misc/chezmoi/default.nix +++ b/pkgs/tools/misc/chezmoi/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "chezmoi"; - version = "2.34.3"; + version = "2.35.2"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; rev = "v${version}"; - hash = "sha256-Cy2mRcx8UZp9+7O824sosQ8ld9ppl2YvCssvL16aBsA="; + hash = "sha256-drydLWt0B7mQKMn1GzEe/I352b2hvhCKV8tUicZoVHk="; }; - vendorHash = "sha256-Z812v+UTaAi3tA2hWtZkQXrtlXhQzlawYtbQdX1HHN0="; + vendorHash = "sha256-HZYYENQIkmAhm0oDfUUpiAqWTbmNsy6u6hOyUvd8iC8="; doCheck = false; diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix index 7403f7339247a..1855fa534130a 100644 --- a/pkgs/tools/networking/amass/default.nix +++ b/pkgs/tools/networking/amass/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "amass"; - version = "4.0.3"; + version = "4.0.4"; src = fetchFromGitHub { owner = "OWASP"; repo = "Amass"; - rev = "v${version}"; - hash = "sha256-c5LHF8SPvBqXpz5mRIKU402ZeCs8VUzPIwLoMPrWzdA="; + rev = "refs/tags/v${version}"; + hash = "sha256-KzMpe6pSPCNlk4fhZUZ1dvcj2Vgk8gHbEhVwlxOFKFg="; }; - vendorHash = "sha256-4Ml9qiaXf2zBIDdJE7JWHf684YD1yuIPd4VTRcBNLcE="; + vendorHash = "sha256-YdHJMUgVNUAREmvBDQl8p5ESOmJykheaQSU6asyZ7qc="; outputs = [ "out" diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix index 8260978f41a93..da9a7334396e3 100644 --- a/pkgs/tools/security/trufflehog/default.nix +++ b/pkgs/tools/security/trufflehog/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "trufflehog"; - version = "3.44.0"; + version = "3.45.1"; src = fetchFromGitHub { owner = "trufflesecurity"; repo = "trufflehog"; rev = "refs/tags/v${version}"; - hash = "sha256-2AGdF+E3YNRiM8So+i6XWkQxgDgF8wu2z6hnuuzh4NQ="; + hash = "sha256-kWEDeFx3ngpL6ySCD5GsJbmtbhv1qCMt9yjrskLmbbg="; }; - vendorHash = "sha256-IJZSYwF71pbRr+k8dCE8OOEQwK3srPtGbrJIltfVNBU="; + vendorHash = "sha256-dg29rK5/se2DVhc+GLFeFzh3bqJl3dfC2zjGLX7utDs="; ldflags = [ "-s" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c4c29cd059a76..3515a5d73bc60 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35437,6 +35437,8 @@ with pkgs; tickrs = callPackage ../applications/misc/tickrs { }; + tijolo = callPackage ../applications/editors/tijolo { }; + tilemaker = callPackage ../applications/misc/tilemaker { }; timbreid = callPackage ../applications/audio/pd-plugins/timbreid { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 66521e57fcbaf..63921724433e2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -736,6 +736,8 @@ self: super: with self; { async-dns = callPackage ../development/python-modules/async-dns { }; + async-interrupt = callPackage ../development/python-modules/async-interrupt { }; + async-lru = callPackage ../development/python-modules/async-lru { }; async-modbus = callPackage ../development/python-modules/async-modbus { }; @@ -1320,6 +1322,8 @@ self: super: with self; { beniget = callPackage ../development/python-modules/beniget { }; + bentoml = callPackage ../development/python-modules/bentoml { }; + bespon = callPackage ../development/python-modules/bespon { }; betacode = callPackage ../development/python-modules/betacode { }; @@ -3924,6 +3928,8 @@ self: super: with self; { folium = callPackage ../development/python-modules/folium { }; + fontawesomefree = callPackage ../development/python-modules/fontawesomefree { }; + fontforge = toPythonModule (pkgs.fontforge.override { withPython = true; inherit python; |