diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-04-25 12:01:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-25 12:01:31 +0000 |
commit | a39805cda2636c25672f21016f083521065c2e16 (patch) | |
tree | a0a1bd3c0fc745ed7cecd83bf508d3ebcb0d26f8 /pkgs | |
parent | 2abb1ddb41c03fa02974cbfe62e213189f65b351 (diff) | |
parent | 167731fc9ec03a9a5f86be7cdad8ebe9f64f7a09 (diff) | |
download | nixpkgs-a39805cda2636c25672f21016f083521065c2e16.tar nixpkgs-a39805cda2636c25672f21016f083521065c2e16.tar.gz nixpkgs-a39805cda2636c25672f21016f083521065c2e16.tar.bz2 nixpkgs-a39805cda2636c25672f21016f083521065c2e16.tar.lz nixpkgs-a39805cda2636c25672f21016f083521065c2e16.tar.xz nixpkgs-a39805cda2636c25672f21016f083521065c2e16.tar.zst nixpkgs-a39805cda2636c25672f21016f083521065c2e16.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs')
118 files changed, 4179 insertions, 890 deletions
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix index 3c9086b97fd..3455641b0ea 100644 --- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix +++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -2,11 +2,11 @@ let pname = "ledger-live-desktop"; - version = "2.55.0"; + version = "2.57.0"; src = fetchurl { url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage"; - hash = "sha256-N0BhbqZvZs3IP+jMxr85KlHs6I/fxWgoK884EKT9C9Y="; + hash = "sha256-fXvCj9eBEp/kGPSiNUdir19eU0x461KzXgl5YgeapHI="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/editors/pulsar/update.mjs b/pkgs/applications/editors/pulsar/update.mjs index 82e86be072d..2e4155d8742 100755 --- a/pkgs/applications/editors/pulsar/update.mjs +++ b/pkgs/applications/editors/pulsar/update.mjs @@ -1,6 +1,6 @@ #!/usr/bin/env nix-shell /* -#!nix-shell -i node -p nodejs-18_x +#!nix-shell -i node -p nodejs_18 */ import { promises as fs } from 'node:fs'; diff --git a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix index 08f947ea46b..b795f708f18 100644 --- a/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix b/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix index 2f29f37d72c..12949e6195a 100644 --- a/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix +++ b/pkgs/applications/misc/ArchiSteamFarm/web-ui/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../../development/node-packages/node-env.nix { diff --git a/pkgs/applications/misc/tandoor-recipes/frontend.nix b/pkgs/applications/misc/tandoor-recipes/frontend.nix index 47dcde5aca5..2050d062d6a 100644 --- a/pkgs/applications/misc/tandoor-recipes/frontend.nix +++ b/pkgs/applications/misc/tandoor-recipes/frontend.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs-16_x }: +{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs_16 }: let common = callPackage ./common.nix { }; in @@ -16,8 +16,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ fixup_yarn_lock # Use Node JS 16 because of @achrinza/node-ipc@9.2.2 - nodejs-16_x - nodejs-16_x.pkgs.yarn + nodejs_16 + nodejs_16.pkgs.yarn ]; configurePhase = '' diff --git a/pkgs/applications/misc/yubioath-flutter/default.nix b/pkgs/applications/misc/yubioath-flutter/default.nix index dde9f3b6986..4012b40ff60 100644 --- a/pkgs/applications/misc/yubioath-flutter/default.nix +++ b/pkgs/applications/misc/yubioath-flutter/default.nix @@ -2,19 +2,13 @@ , flutter , python3 , fetchFromGitHub -, stdenv , pcre2 , gnome , makeWrapper , removeReferencesTo }: -let - vendorHashes = { - x86_64-linux = "sha256-Upe0cEDG02RJD50Ht9VNMwkelsJHX8zOuJZssAhMuMY="; - aarch64-linux = "sha256-lKER4+gcyFqnCvgBl/qdVBCbUpocWUnXGLXsX82MSy4="; - }; -in -flutter.mkFlutterApp rec { + +flutter.buildFlutterApplication rec { pname = "yubioath-flutter"; version = "6.1.0"; @@ -27,7 +21,8 @@ flutter.mkFlutterApp rec { passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; }; - vendorHash = vendorHashes.${stdenv.system}; + depsListFile = ./deps.json; + vendorHash = "sha256-WfZiB7MO4wHUg81xm67BMu4zQdC9CfhN5BQol+AI2S8="; postPatch = '' substituteInPlace linux/CMakeLists.txt \ @@ -89,6 +84,6 @@ flutter.mkFlutterApp rec { homepage = "https://github.com/Yubico/yubioath-flutter"; license = licenses.asl20; maintainers = with maintainers; [ lukegb ]; - platforms = builtins.attrNames vendorHashes; + platforms = [ "x86_64-linux" "aarch64-linux" ]; }; } diff --git a/pkgs/applications/misc/yubioath-flutter/deps.json b/pkgs/applications/misc/yubioath-flutter/deps.json new file mode 100644 index 00000000000..1ce525f799b --- /dev/null +++ b/pkgs/applications/misc/yubioath-flutter/deps.json @@ -0,0 +1,1319 @@ +[ + { + "name": "yubico_authenticator", + "version": "6.1.0+60100", + "kind": "root", + "source": "root", + "dependencies": [ + "flutter", + "flutter_localizations", + "intl", + "async", + "logging", + "collection", + "shared_preferences", + "flutter_riverpod", + "json_annotation", + "freezed_annotation", + "window_manager", + "qrscanner_zxing", + "desktop_drop", + "url_launcher", + "integration_test", + "flutter_test", + "flutter_lints", + "build_runner", + "freezed", + "json_serializable" + ] + }, + { + "name": "json_serializable", + "version": "6.5.4", + "kind": "dev", + "source": "hosted", + "dependencies": [ + "analyzer", + "async", + "build", + "build_config", + "collection", + "json_annotation", + "meta", + "path", + "pub_semver", + "pubspec_parse", + "source_gen", + "source_helper" + ] + }, + { + "name": "source_helper", + "version": "1.3.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "analyzer", + "collection", + "source_gen" + ] + }, + { + "name": "source_gen", + "version": "1.2.6", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "analyzer", + "async", + "build", + "dart_style", + "glob", + "meta", + "path", + "source_span", + "yaml" + ] + }, + { + "name": "yaml", + "version": "3.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "source_span", + "string_scanner" + ] + }, + { + "name": "string_scanner", + "version": "1.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "source_span" + ] + }, + { + "name": "source_span", + "version": "1.9.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "path", + "term_glyph" + ] + }, + { + "name": "term_glyph", + "version": "1.2.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "path", + "version": "1.8.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "collection", + "version": "1.17.0", + "kind": "direct", + "source": "hosted", + "dependencies": [] + }, + { + "name": "meta", + "version": "1.8.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "glob", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "collection", + "file", + "path", + "string_scanner" + ] + }, + { + "name": "file", + "version": "6.1.4", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta", + "path" + ] + }, + { + "name": "async", + "version": "2.10.0", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "collection", + "meta" + ] + }, + { + "name": "dart_style", + "version": "2.2.4", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "analyzer", + "args", + "path", + "pub_semver", + "source_span" + ] + }, + { + "name": "pub_semver", + "version": "2.1.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "meta" + ] + }, + { + "name": "args", + "version": "2.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "analyzer", + "version": "5.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "_fe_analyzer_shared", + "collection", + "convert", + "crypto", + "glob", + "meta", + "package_config", + "path", + "pub_semver", + "source_span", + "watcher", + "yaml" + ] + }, + { + "name": "watcher", + "version": "1.0.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "path" + ] + }, + { + "name": "package_config", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "path" + ] + }, + { + "name": "crypto", + "version": "3.0.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "typed_data" + ] + }, + { + "name": "typed_data", + "version": "1.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection" + ] + }, + { + "name": "convert", + "version": "3.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "typed_data" + ] + }, + { + "name": "_fe_analyzer_shared", + "version": "50.0.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "build", + "version": "2.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "analyzer", + "async", + "convert", + "crypto", + "glob", + "logging", + "meta", + "path" + ] + }, + { + "name": "logging", + "version": "1.1.0", + "kind": "direct", + "source": "hosted", + "dependencies": [] + }, + { + "name": "pubspec_parse", + "version": "1.2.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "checked_yaml", + "collection", + "json_annotation", + "pub_semver", + "yaml" + ] + }, + { + "name": "json_annotation", + "version": "4.7.0", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "checked_yaml", + "version": "2.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "json_annotation", + "source_span", + "yaml" + ] + }, + { + "name": "build_config", + "version": "1.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "checked_yaml", + "json_annotation", + "path", + "pubspec_parse", + "yaml" + ] + }, + { + "name": "freezed", + "version": "2.3.2", + "kind": "dev", + "source": "hosted", + "dependencies": [ + "analyzer", + "build", + "build_config", + "collection", + "meta", + "source_gen", + "freezed_annotation", + "json_annotation" + ] + }, + { + "name": "freezed_annotation", + "version": "2.2.0", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "collection", + "json_annotation", + "meta" + ] + }, + { + "name": "build_runner", + "version": "2.3.3", + "kind": "dev", + "source": "hosted", + "dependencies": [ + "args", + "async", + "analyzer", + "build", + "build_config", + "build_daemon", + "build_resolvers", + "build_runner_core", + "code_builder", + "collection", + "crypto", + "dart_style", + "frontend_server_client", + "glob", + "graphs", + "http_multi_server", + "io", + "js", + "logging", + "meta", + "mime", + "package_config", + "path", + "pool", + "pub_semver", + "pubspec_parse", + "shelf", + "shelf_web_socket", + "stack_trace", + "stream_transform", + "timing", + "watcher", + "web_socket_channel", + "yaml" + ] + }, + { + "name": "web_socket_channel", + "version": "2.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "crypto", + "stream_channel" + ] + }, + { + "name": "stream_channel", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async" + ] + }, + { + "name": "timing", + "version": "1.0.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "json_annotation" + ] + }, + { + "name": "stream_transform", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "stack_trace", + "version": "1.11.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "path" + ] + }, + { + "name": "shelf_web_socket", + "version": "1.0.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "shelf", + "stream_channel", + "web_socket_channel" + ] + }, + { + "name": "shelf", + "version": "1.4.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "collection", + "http_parser", + "path", + "stack_trace", + "stream_channel" + ] + }, + { + "name": "http_parser", + "version": "4.0.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "source_span", + "string_scanner", + "typed_data" + ] + }, + { + "name": "pool", + "version": "1.5.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "stack_trace" + ] + }, + { + "name": "mime", + "version": "1.0.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "js", + "version": "0.6.5", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "io", + "version": "1.0.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta", + "path", + "string_scanner" + ] + }, + { + "name": "http_multi_server", + "version": "3.2.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async" + ] + }, + { + "name": "graphs", + "version": "2.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection" + ] + }, + { + "name": "frontend_server_client", + "version": "3.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "path" + ] + }, + { + "name": "code_builder", + "version": "4.3.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "built_collection", + "built_value", + "collection", + "matcher", + "meta" + ] + }, + { + "name": "matcher", + "version": "0.12.13", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta", + "stack_trace" + ] + }, + { + "name": "built_value", + "version": "8.4.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "built_collection", + "collection", + "fixnum", + "meta" + ] + }, + { + "name": "fixnum", + "version": "1.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "built_collection", + "version": "5.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "build_runner_core", + "version": "7.2.7", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "build", + "build_config", + "build_resolvers", + "collection", + "convert", + "crypto", + "glob", + "graphs", + "json_annotation", + "logging", + "meta", + "path", + "package_config", + "pool", + "timing", + "watcher", + "yaml" + ] + }, + { + "name": "build_resolvers", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "analyzer", + "async", + "build", + "crypto", + "graphs", + "logging", + "path", + "package_config", + "pool", + "pub_semver", + "stream_transform", + "yaml" + ] + }, + { + "name": "build_daemon", + "version": "3.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "built_collection", + "built_value", + "http_multi_server", + "logging", + "path", + "pool", + "shelf", + "shelf_web_socket", + "stream_transform", + "watcher", + "web_socket_channel" + ] + }, + { + "name": "flutter_lints", + "version": "2.0.1", + "kind": "dev", + "source": "hosted", + "dependencies": [ + "lints" + ] + }, + { + "name": "lints", + "version": "2.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "flutter_test", + "version": "0.0.0", + "kind": "dev", + "source": "sdk", + "dependencies": [ + "flutter", + "test_api", + "path", + "fake_async", + "clock", + "stack_trace", + "vector_math", + "async", + "boolean_selector", + "characters", + "collection", + "js", + "matcher", + "material_color_utilities", + "meta", + "source_span", + "stream_channel", + "string_scanner", + "term_glyph" + ] + }, + { + "name": "material_color_utilities", + "version": "0.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "characters", + "version": "1.2.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "boolean_selector", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "source_span", + "string_scanner" + ] + }, + { + "name": "vector_math", + "version": "2.1.4", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "clock", + "version": "1.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "fake_async", + "version": "1.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "clock", + "collection" + ] + }, + { + "name": "test_api", + "version": "0.4.16", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "boolean_selector", + "collection", + "meta", + "source_span", + "stack_trace", + "stream_channel", + "string_scanner", + "term_glyph", + "matcher" + ] + }, + { + "name": "flutter", + "version": "0.0.0", + "kind": "direct", + "source": "sdk", + "dependencies": [ + "characters", + "collection", + "js", + "material_color_utilities", + "meta", + "vector_math", + "sky_engine" + ] + }, + { + "name": "sky_engine", + "version": "0.0.99", + "kind": "transitive", + "source": "sdk", + "dependencies": [] + }, + { + "name": "integration_test", + "version": "0.0.0", + "kind": "dev", + "source": "sdk", + "dependencies": [ + "flutter", + "flutter_driver", + "flutter_test", + "path", + "vm_service", + "archive", + "async", + "boolean_selector", + "characters", + "clock", + "collection", + "crypto", + "fake_async", + "file", + "js", + "matcher", + "material_color_utilities", + "meta", + "source_span", + "stack_trace", + "stream_channel", + "string_scanner", + "sync_http", + "term_glyph", + "test_api", + "typed_data", + "vector_math", + "webdriver" + ] + }, + { + "name": "webdriver", + "version": "3.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "archive", + "matcher", + "path", + "stack_trace", + "sync_http" + ] + }, + { + "name": "sync_http", + "version": "0.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "archive", + "version": "3.3.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "crypto", + "path" + ] + }, + { + "name": "vm_service", + "version": "9.4.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "flutter_driver", + "version": "0.0.0", + "kind": "transitive", + "source": "sdk", + "dependencies": [ + "file", + "flutter", + "flutter_test", + "fuchsia_remote_debug_protocol", + "path", + "meta", + "vm_service", + "webdriver", + "archive", + "async", + "boolean_selector", + "characters", + "clock", + "collection", + "crypto", + "js", + "matcher", + "material_color_utilities", + "platform", + "process", + "source_span", + "stack_trace", + "stream_channel", + "string_scanner", + "sync_http", + "term_glyph", + "test_api", + "typed_data", + "vector_math" + ] + }, + { + "name": "process", + "version": "4.2.4", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "file", + "path", + "platform" + ] + }, + { + "name": "platform", + "version": "3.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "fuchsia_remote_debug_protocol", + "version": "0.0.0", + "kind": "transitive", + "source": "sdk", + "dependencies": [ + "process", + "vm_service", + "file", + "meta", + "path", + "platform" + ] + }, + { + "name": "url_launcher", + "version": "6.1.7", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter", + "url_launcher_android", + "url_launcher_ios", + "url_launcher_linux", + "url_launcher_macos", + "url_launcher_platform_interface", + "url_launcher_web", + "url_launcher_windows" + ] + }, + { + "name": "url_launcher_windows", + "version": "3.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "url_launcher_platform_interface" + ] + }, + { + "name": "url_launcher_platform_interface", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "plugin_platform_interface" + ] + }, + { + "name": "plugin_platform_interface", + "version": "2.1.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "url_launcher_web", + "version": "2.0.13", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "url_launcher_platform_interface" + ] + }, + { + "name": "flutter_web_plugins", + "version": "0.0.0", + "kind": "transitive", + "source": "sdk", + "dependencies": [ + "flutter", + "js", + "characters", + "collection", + "material_color_utilities", + "meta", + "vector_math" + ] + }, + { + "name": "url_launcher_macos", + "version": "3.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "url_launcher_platform_interface" + ] + }, + { + "name": "url_launcher_linux", + "version": "3.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "url_launcher_platform_interface" + ] + }, + { + "name": "url_launcher_ios", + "version": "6.0.17", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "url_launcher_platform_interface" + ] + }, + { + "name": "url_launcher_android", + "version": "6.0.22", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "url_launcher_platform_interface" + ] + }, + { + "name": "desktop_drop", + "version": "0.4.0", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "cross_file" + ] + }, + { + "name": "cross_file", + "version": "0.3.3+2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "js", + "meta" + ] + }, + { + "name": "qrscanner_zxing", + "version": "1.0.0", + "kind": "direct", + "source": "path", + "dependencies": [ + "flutter", + "plugin_platform_interface" + ] + }, + { + "name": "window_manager", + "version": "0.3.0", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter", + "path", + "screen_retriever" + ] + }, + { + "name": "screen_retriever", + "version": "0.1.4", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter" + ] + }, + { + "name": "flutter_riverpod", + "version": "2.1.3", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "collection", + "flutter", + "meta", + "riverpod", + "state_notifier" + ] + }, + { + "name": "state_notifier", + "version": "0.7.2+1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "riverpod", + "version": "2.1.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "meta", + "stack_trace", + "state_notifier" + ] + }, + { + "name": "shared_preferences", + "version": "2.0.16", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter", + "shared_preferences_android", + "shared_preferences_foundation", + "shared_preferences_linux", + "shared_preferences_platform_interface", + "shared_preferences_web", + "shared_preferences_windows" + ] + }, + { + "name": "shared_preferences_windows", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "file", + "flutter", + "path", + "path_provider_platform_interface", + "path_provider_windows", + "shared_preferences_platform_interface" + ] + }, + { + "name": "shared_preferences_platform_interface", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "plugin_platform_interface" + ] + }, + { + "name": "path_provider_windows", + "version": "2.1.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "ffi", + "flutter", + "path", + "path_provider_platform_interface", + "win32" + ] + }, + { + "name": "win32", + "version": "3.1.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "ffi" + ] + }, + { + "name": "ffi", + "version": "2.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "path_provider_platform_interface", + "version": "2.0.5", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "platform", + "plugin_platform_interface" + ] + }, + { + "name": "shared_preferences_web", + "version": "2.0.4", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "shared_preferences_platform_interface" + ] + }, + { + "name": "shared_preferences_linux", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "file", + "flutter", + "path", + "path_provider_linux", + "path_provider_platform_interface", + "shared_preferences_platform_interface" + ] + }, + { + "name": "path_provider_linux", + "version": "2.1.7", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "ffi", + "flutter", + "path", + "path_provider_platform_interface", + "xdg_directories" + ] + }, + { + "name": "xdg_directories", + "version": "0.2.0+2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta", + "path", + "process" + ] + }, + { + "name": "shared_preferences_foundation", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "shared_preferences_platform_interface" + ] + }, + { + "name": "shared_preferences_android", + "version": "2.0.14", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "shared_preferences_platform_interface" + ] + }, + { + "name": "intl", + "version": "0.17.0", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "clock", + "path" + ] + }, + { + "name": "flutter_localizations", + "version": "0.0.0", + "kind": "direct", + "source": "sdk", + "dependencies": [ + "flutter", + "intl", + "characters", + "clock", + "collection", + "js", + "material_color_utilities", + "meta", + "path", + "vector_math" + ] + } +] diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix index 1497876c384..29ada04281b 100644 --- a/pkgs/applications/networking/cluster/fluxcd/default.nix +++ b/pkgs/applications/networking/cluster/fluxcd/default.nix @@ -1,9 +1,9 @@ { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }: let - version = "0.41.2"; - sha256 = "0c4in6k6l9kjskcapi6gap9jkbrrfd106z6nbs48afr30cv2wp24"; - manifestsSha256 = "0kc9s5289s5b1slk2w3sr28yk9hg3lmrpy00mw3im3k6aqgrk9j0"; + version = "2.0.0-rc.1"; + sha256 = "0hy8jphb6pd24qifnjgzm2jwz93c5rsk08p8k9kl1fzlz7bivg9g"; + manifestsSha256 = "0v6skn065hqk0pq5k7c48g68pnpj5har8cfhgbc8xjzg149a22wa"; manifests = fetchzip { url = @@ -23,7 +23,7 @@ in buildGoModule rec { inherit sha256; }; - vendorSha256 = "sha256-ez4yaFZ5JROdu9boN5wI/XGMqLo8OKW6b0FZsJeFw4w="; + vendorSha256 = "sha256-ifzzNEFXq2VzidaxCTdz7VZOCoA0zPcK6uL0CyBNrE4="; postUnpack = '' cp -r ${manifests} source/cmd/flux/manifests diff --git a/pkgs/applications/networking/cluster/spacegun/node-composition.nix b/pkgs/applications/networking/cluster/spacegun/node-composition.nix index 0c0b678d98f..b57a68b0da7 100644 --- a/pkgs/applications/networking/cluster/spacegun/node-composition.nix +++ b/pkgs/applications/networking/cluster/spacegun/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../../development/node-packages/node-env.nix { diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix index 47c47276095..653f27fcc11 100644 --- a/pkgs/applications/networking/dnscontrol/default.nix +++ b/pkgs/applications/networking/dnscontrol/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "dnscontrol"; - version = "3.31.1"; + version = "3.31.2"; src = fetchFromGitHub { owner = "StackExchange"; repo = pname; rev = "v${version}"; - sha256 = "sha256-T8fErChbQbarvE3/Zds1482m1hfD9Qa3esYvqjzNN3c="; + sha256 = "sha256-vKfbL2a/5rTVsG0rDs/D0t5eXDNWlbwURI2FYzGu9lY="; }; vendorHash = "sha256-BE/UnJw5elHYmyB+quN89ZkrlMcTjaVN0T2+h8cpPS8="; diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix index c1eafe304a9..f9be0da6d5a 100644 --- a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix +++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix index f2b02ebdec4..35510badf42 100644 --- a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix +++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix @@ -6,13 +6,13 @@ postInstall = '' mkdir "$out/bin" echo '#!/bin/sh' >> "$out/bin/matrix-recorder" - echo "'${pkgs.nodejs-14_x}/bin/node'" \ + echo "'${pkgs.nodejs_14}/bin/node'" \ "'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \ '"$@"' >> "$out/bin/matrix-recorder" echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html" echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html" echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html" - echo "'${pkgs.nodejs-14_x}/bin/node'" \ + echo "'${pkgs.nodejs_14}/bin/node'" \ "'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \ '.' >> "$out/bin/matrix-recorder-to-html" chmod a+x "$out/bin/matrix-recorder" diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix index 03465c8ee3e..33c943e3bc9 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix @@ -73,7 +73,7 @@ let in stdenv.mkDerivation rec { pname = "telegram-desktop"; - version = "4.8.0"; + version = "4.8.1"; # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py src = fetchFromGitHub { @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { repo = "tdesktop"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "1ari4kdjd99klrla0rn4cjjc54d6glf17s0q881f67vh2v5zdwf0"; + sha256 = "0mxxfh70dffkrq76nky3pwrk10s1q4ahxx2ddb58dz8igq6pl4zi"; }; patches = [ diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix index 41ff2b74a06..8cc96f1b6e5 100644 --- a/pkgs/applications/networking/n8n/default.nix +++ b/pkgs/applications/networking/n8n/default.nix @@ -1,4 +1,4 @@ -{ pkgs, nodejs-16_x, stdenv, lib, nixosTests }: +{ pkgs, nodejs_16, stdenv, lib, nixosTests }: let nodePackages = import ./node-composition.nix { diff --git a/pkgs/applications/networking/n8n/node-composition.nix b/pkgs/applications/networking/n8n/node-composition.nix index ca76a98f5a6..6377a4b2c12 100644 --- a/pkgs/applications/networking/n8n/node-composition.nix +++ b/pkgs/applications/networking/n8n/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_16"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 14f8db6a7e8..49bf77a483c 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -49,7 +49,7 @@ assert withQt -> qt5 != null; let - version = "4.0.4"; + version = "4.0.5"; variant = if withQt then "qt" else "cli"; in stdenv.mkDerivation { @@ -61,7 +61,7 @@ stdenv.mkDerivation { repo = "wireshark"; owner = "wireshark"; rev = "v${version}"; - hash = "sha256-x7McplQVdLczTov+u9eqmT1Ons22KqRsCN65pUuwYGw="; + hash = "sha256-9U0V2oLVyzq+3HxvOuD8Uzj1tjoMtYBws43fn5RfGhQ="; }; cmakeFlags = [ diff --git a/pkgs/applications/version-management/cz-cli/node-composition.nix b/pkgs/applications/version-management/cz-cli/node-composition.nix index 4dfddf3e5bc..5bd4f169fc8 100644 --- a/pkgs/applications/version-management/cz-cli/node-composition.nix +++ b/pkgs/applications/version-management/cz-cli/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/build-support/dart/fetch-dart-deps/default.nix b/pkgs/build-support/dart/fetch-dart-deps/default.nix new file mode 100644 index 00000000000..9deb99648c0 --- /dev/null +++ b/pkgs/build-support/dart/fetch-dart-deps/default.nix @@ -0,0 +1,186 @@ +{ stdenvNoCC +, lib +, makeSetupHook +, dart +, git +, cacert +, jq +}: + +{ + # The output hash of the dependencies for this project. + vendorHash ? "" + # Commands to run once before using Dart or pub. +, sdkSetupScript ? "" + # Commands to run to populate the pub cache. +, pubGetScript ? "dart pub get" + # A path to a pubspec.lock file to use instead of the one in the source directory. +, pubspecLockFile ? null + # Arguments used in the derivation that builds the Dart package. + # Passing these is recommended to ensure that the same steps are made to prepare the sources in both this + # derivation and the one that builds the Dart package. +, buildDrvArgs ? { } +, ... +}@args: + +# This is a fixed-output derivation and setup hook that can be used to fetch dependencies for Dart projects. +# It is designed to be placed in the nativeBuildInputs of a derivation that builds a Dart package. +# Providing the buildDrvArgs argument is highly recommended. +let + buildDrvInheritArgNames = [ + "name" + "pname" + "version" + "src" + "sourceRoot" + "setSourceRoot" + "preUnpack" + "unpackPhase" + "unpackCmd" + "postUnpack" + "prePatch" + "patchPhase" + "patches" + "patchFlags" + "postPatch" + ]; + + buildDrvInheritArgs = builtins.foldl' + (attrs: arg: + if buildDrvArgs ? ${arg} + then attrs // { ${arg} = buildDrvArgs.${arg}; } + else attrs) + { } + buildDrvInheritArgNames; + + drvArgs = buildDrvInheritArgs // (removeAttrs args [ "buildDrvArgs" ]); + name = (if drvArgs ? name then drvArgs.name else "${drvArgs.pname}-${drvArgs.version}"); + + deps = + stdenvNoCC.mkDerivation ({ + name = "${name}-dart-deps"; + + nativeBuildInputs = [ + dart + git + ]; + + # avoid pub phase + dontBuild = true; + + configurePhase = '' + # Configure the package cache + export PUB_CACHE="$out/cache/.pub-cache" + mkdir -p "$PUB_CACHE" + + ${sdkSetupScript} + ''; + + installPhase = '' + _pub_get() { + ${pubGetScript} + } + + # so we can use lock, diff yaml + mkdir -p "$out/pubspec" + cp "pubspec.yaml" "$out/pubspec" + ${lib.optionalString (pubspecLockFile != null) "install -m644 ${pubspecLockFile} pubspec.lock"} + if ! cp "pubspec.lock" "$out/pubspec"; then + echo 1>&2 -e '\nThe pubspec.lock file is missing. This is a requirement for reproducible builds.' \ + '\nThe following steps should be taken to fix this issue:' \ + '\n 1. If you are building an application, contact the developer(s).' \ + '\n The pubspec.lock file should be provided with the source code.' \ + '\n https://dart.dev/guides/libraries/private-files#pubspeclock' \ + '\n 2. An attempt to generate and print a compressed pubspec.lock file will be made now.' \ + '\n It is compressed with gzip and base64 encoded.' \ + '\n Paste it to a file and extract it with `base64 -d pubspec.lock.in | gzip -d > pubspec.lock`.' \ + '\n Provide the path to the pubspec.lock file in the pubspecLockFile argument.' \ + '\n This must be updated whenever the application is updated.' \ + '\n' + _pub_get + echo "" + gzip --to-stdout --best pubspec.lock | base64 1>&2 + echo 1>&2 -e '\nA gzipped pubspec.lock file has been printed. Please see the informational message above.' + exit 1 + fi + + _pub_get + + # nuke nondeterminism + + # Remove Git directories in the Git package cache - these are rarely used by Pub, + # which instead maintains a corresponsing mirror and clones cached packages through it. + # + # An exception is made to keep .git/pub-packages files, which are important. + # https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/source/git.dart#L621 + if [ -d "$PUB_CACHE"/git ]; then + find "$PUB_CACHE"/git -maxdepth 4 -path "*/.git/*" ! -name "pub-packages" -prune -exec rm -rf {} + + fi + + # Remove continuously updated package metadata caches + rm -rf "$PUB_CACHE"/hosted/*/.cache # Not pinned by pubspec.lock + rm -rf "$PUB_CACHE"/git/cache/*/* # Recreate this on the other end. See: https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/source/git.dart#L531 + + # Miscelaneous transient package cache files + rm -f "$PUB_CACHE"/README.md # May change with different Dart versions + rm -rf "$PUB_CACHE"/_temp # https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/system_cache.dart#L131 + rm -rf "$PUB_CACHE"/log # https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/command.dart#L348 + ''; + + GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ + "GIT_PROXY_COMMAND" + "NIX_GIT_SSL_CAINFO" + "SOCKS_SERVER" + ]; + + # Patching shebangs introduces input references to this fixed-output derivation. + # This triggers a bug in Nix, causing the output path to change unexpectedly. + # https://github.com/NixOS/nix/issues/6660 + dontPatchShebangs = true; + + # The following operations are not generally useful for this derivation. + # If a package does contain some native components used at build time, + # please file an issue. + dontStrip = true; + dontMoveSbin = true; + dontPatchELF = true; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = if vendorHash != "" then vendorHash else lib.fakeSha256; + } // (removeAttrs drvArgs [ "name" "pname" ])); + + depsListDrv = stdenvNoCC.mkDerivation ({ + name = "${name}-dart-deps-list.json"; + nativeBuildInputs = [ hook dart jq ]; + + configurePhase = '' + runHook preConfigure + dart pub get --offline + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + dart pub deps --json | jq .packages > $out + runHook postBuild + ''; + } // buildDrvInheritArgs); + + hook = (makeSetupHook { + # The setup hook should not be part of the fixed-output derivation. + # Updates to the hook script should not change vendor hashes, and it won't + # work at all anyway due to https://github.com/NixOS/nix/issues/6660. + name = "${name}-dart-deps-setup-hook"; + substitutions = { inherit deps; }; + propagatedBuildInputs = [ dart git ]; + passthru = { + files = deps.outPath; + depsListFile = depsListDrv.outPath; + }; + }) ./setup-hook.sh; +in +hook diff --git a/pkgs/build-support/dart/fetch-dart-deps/setup-hook.sh b/pkgs/build-support/dart/fetch-dart-deps/setup-hook.sh new file mode 100644 index 00000000000..37ef74aa62d --- /dev/null +++ b/pkgs/build-support/dart/fetch-dart-deps/setup-hook.sh @@ -0,0 +1,41 @@ +preConfigureHooks+=(_setupPubCache) + +_setupPubCache() { + deps="@deps@" + + # Configure the package cache. + export PUB_CACHE="$(mktemp -d)" + mkdir -p "$PUB_CACHE" + + if [ -d "$deps/cache/.pub-cache/git" ]; then + # Link the Git package cache. + mkdir -p "$PUB_CACHE/git" + ln -s "$deps/cache/.pub-cache/git"/* "$PUB_CACHE/git" + + # Recreate the internal Git cache subdirectory. + # See: https://github.com/dart-lang/pub/blob/c890afa1d65b340fa59308172029680c2f8b0fc6/lib/src/source/git.dart#L339) + # Blank repositories are created instead of attempting to match the cache mirrors to checkouts. + # This is not an issue, as pub does not need the mirrors in the Flutter build process. + rm "$PUB_CACHE/git/cache" && mkdir "$PUB_CACHE/git/cache" + for mirror in $(ls -A "$deps/cache/.pub-cache/git/cache"); do + git --git-dir="$PUB_CACHE/git/cache/$mirror" init --bare --quiet + done + fi + + # Link the remaining package cache directories. + # At this point, any subdirectories that must be writable must have been taken care of. + for file in $(comm -23 <(ls -A "$deps/cache/.pub-cache") <(ls -A "$PUB_CACHE")); do + ln -s "$deps/cache/.pub-cache/$file" "$PUB_CACHE/$file" + done + + # ensure we're using a lockfile for the right package version + if [ ! -e pubspec.lock ]; then + cp -v "$deps/pubspec/pubspec.lock" . + # Sometimes the pubspec.lock will get opened in write mode, even when offline. + chmod u+w pubspec.lock + elif ! { diff -u pubspec.lock "$deps/pubspec/pubspec.lock" && diff -u pubspec.yaml "$deps/pubspec/pubspec.yaml"; }; then + echo 1>&2 -e 'The pubspec.lock or pubspec.yaml of the project derivation differs from the one in the dependency derivation.' \ + '\nYou most likely forgot to update the vendorHash while updating the sources.' + exit 1 + fi +} diff --git a/pkgs/build-support/flutter/default.nix b/pkgs/build-support/flutter/default.nix index a4b4942ef59..abb1c8ac359 100644 --- a/pkgs/build-support/flutter/default.nix +++ b/pkgs/build-support/flutter/default.nix @@ -1,284 +1,159 @@ -{ flutter -, lib -, llvmPackages_13 -, cmake -, ninja -, pkg-config -, wrapGAppsHook -, autoPatchelfHook -, util-linux -, libselinux -, libsepol -, libthai -, libdatrie -, libxkbcommon -, at-spi2-core -, libsecret -, jsoncpp -, xorg -, dbus -, gtk3 -, glib -, pcre -, libepoxy +{ lib +, callPackage , stdenvNoCC +, makeWrapper +, llvmPackages_13 , cacert -, git -, dart -, nukeReferences -, bash -, curl -, unzip -, which -, xz +, flutter +, jq }: # absolutely no mac support for now -args: +{ pubGetScript ? "flutter pub get" +, flutterBuildFlags ? [ ] +, runtimeDependencies ? [ ] +, customPackageOverrides ? { } +, autoDepsList ? false +, depsListFile ? null +, vendorHash +, pubspecLockFile ? null +, nativeBuildInputs ? [ ] +, preUnpack ? "" +, postFixup ? "" +, ... +}@args: let - pl = n: "##FLUTTER_${n}_PLACEHOLDER_MARKER##"; - placeholder_deps = pl "DEPS"; - placeholder_flutter = pl "FLUTTER"; - fetchAttrs = [ "src" "sourceRoot" "setSourceRoot" "unpackPhase" "patches" ]; - getAttrsOrNull = names: attrs: lib.genAttrs names (name: if attrs ? ${name} then attrs.${name} else null); - flutterDeps = [ - # flutter deps - flutter.unwrapped - bash - curl - flutter.dart - git - unzip - which - xz - ]; - self = -(self: llvmPackages_13.stdenv.mkDerivation (args // { - deps = stdenvNoCC.mkDerivation (lib.recursiveUpdate (getAttrsOrNull fetchAttrs args) { - name = "${self.name}-deps-flutter-v${flutter.unwrapped.version}-${stdenvNoCC.targetPlatform.system}.tar.gz"; - - nativeBuildInputs = flutterDeps ++ [ - nukeReferences - ]; - - # avoid pub phase - dontBuild = true; + flutterSetupScript = '' + export HOME="$NIX_BUILD_TOP" + flutter config --no-analytics &>/dev/null # mute first-run + flutter config --enable-linux-desktop >/dev/null + ''; - installPhase = '' - . ${../fetchgit/deterministic-git} + deps = callPackage ../dart/fetch-dart-deps { dart = flutter; } { + sdkSetupScript = flutterSetupScript; + inherit pubGetScript vendorHash pubspecLockFile; + buildDrvArgs = args; + }; + + baseDerivation = llvmPackages_13.stdenv.mkDerivation (finalAttrs: args // { + inherit flutterBuildFlags runtimeDependencies; + + outputs = [ "out" "debug" ]; + + nativeBuildInputs = [ + makeWrapper + deps + flutter + jq + ] ++ nativeBuildInputs; + + preUnpack = '' + ${lib.optionalString (!autoDepsList) '' + if ! { [ '${lib.boolToString (depsListFile != null)}' = 'true' ] ${lib.optionalString (depsListFile != null) "&& cmp -s <(jq -Sc . '${depsListFile}') <(jq -Sc . '${finalAttrs.passthru.depsListFile}')"}; }; then + echo 1>&2 -e '\nThe dependency list file was either not given or differs from the expected result.' \ + '\nPlease choose one of the following solutions:' \ + '\n - Duplicate the following file and pass it to the depsListFile argument.' \ + '\n ${finalAttrs.passthru.depsListFile}' \ + '\n - Set autoDepsList to true (not supported by Hydra or permitted in Nixpkgs)'. + exit 1 + fi + ''} + + ${preUnpack} + ''; - TMP=$(mktemp -d) + configurePhase = '' + runHook preConfigure - export HOME="$TMP" - export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} - export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 + ${flutterSetupScript} - flutter config --no-analytics &>/dev/null # mute first-run - flutter config --enable-linux-desktop - flutter packages get - flutter build linux || true # so it downloads tools - ${lib.optionalString (args ? flutterExtraFetchCommands) args.flutterExtraFetchCommands} + runHook postConfigure + ''; - RES="$TMP" + buildPhase = '' + runHook preBuild - mkdir -p "$RES/f" + mkdir -p build/flutter_assets/fonts - # so we can use lock, diff yaml - cp "pubspec.yaml" "$RES" - cp "pubspec.lock" "$RES" - [[ -e .packages ]] && mv .packages "$RES/f" - mv .dart_tool .flutter-plugins .flutter-plugins-dependencies "$RES/f" + flutter packages get --offline -v + flutter build linux -v --release --split-debug-info="$debug" ${builtins.concatStringsSep " " (map (flag: "\"${flag}\"") finalAttrs.flutterBuildFlags)} - # replace paths with placeholders - find "$RES" -type f -exec sed -i \ - -e s,$TMP,${placeholder_deps},g \ - -e s,${flutter.unwrapped},${placeholder_flutter},g \ - {} + + runHook postBuild + ''; - remove_line_matching() { - replace_line_matching "$1" "$2" "" - } + installPhase = '' + runHook preInstall - replace_line_matching() { - sed "s|.*$2.*|$3|g" -r -i "$1" - } + built=build/linux/*/release/bundle - # nuke nondeterminism + mkdir -p $out/bin + mv $built $out/app - # clientId is random - remove_line_matching "$RES/.flutter" clientId + for f in $(find $out/app -iname "*.desktop" -type f); do + install -D $f $out/share/applications/$(basename $f) + done - # deterministic git repos - find "$RES" -iname .git -type d | while read -r repoGit; do - make_deterministic_repo "$(dirname "$repoGit")" + for f in $(find $out/app -maxdepth 1 -type f); do + ln -s $f $out/bin/$(basename $f) done - # dart _fetchedAt, etc - DART_DATE=$(date --date="@$SOURCE_DATE_EPOCH" -In | sed "s|,|.|g" | sed "s|+.*||g") - find "$RES/.pub-cache" -iname "*.json" -exec sed -r 's|.*_fetchedAt.*| "_fetchedAt": "'"$DART_DATE"'",|g' -i {} + - replace_line_matching "$RES/f/.dart_tool/package_config.json" '"generated"' '"generated": "'"$DART_DATE"'",' - replace_line_matching "$RES/f/.flutter-plugins-dependencies" '"date_created"' '"date_created": "'"$DART_DATE"'",' - [[ -e "$RES/f/.packages" ]] && remove_line_matching "$RES/f/.packages" "Generated by pub" + # make *.so executable + find $out/app -iname "*.so" -type f -exec chmod +x {} + - # nuke refs - find "$RES" -type f -exec nuke-refs {} + + # remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral + for f in $(find $out/app -executable -type f); do + if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also + echo "strip RPath of $f" + newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g") + patchelf --set-rpath "$newrp" "$f" + fi + done - # Build a reproducible tar, per instructions at https://reproducible-builds.org/docs/archives/ - tar --owner=0 --group=0 --numeric-owner --format=gnu \ - --sort=name --mtime="@$SOURCE_DATE_EPOCH" \ - -czf "$out" -C "$RES" . + runHook postInstall ''; - GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ - "GIT_PROXY_COMMAND" "NIX_GIT_SSL_CAINFO" "SOCKS_SERVER" - ]; - - # unnecesarry - dontFixup = true; + postFixup = '' + # Add runtime library dependencies to the LD_LIBRARY_PATH. + # For some reason, the RUNPATH of the executable is not used to load dynamic libraries in dart:ffi with DynamicLibrary.open(). + # + # This could alternatively be fixed with patchelf --add-needed, but this would cause all the libraries to be opened immediately, + # which is not what application authors expect. + for f in "$out"/bin/*; do + wrapProgram "$f" \ + --suffix LD_LIBRARY_PATH : '${lib.makeLibraryPath finalAttrs.runtimeDependencies}' + done - outputHashAlgo = if self ? vendorHash then null else "sha256"; - # outputHashMode = "recursive"; - outputHash = if self ? vendorHash then - self.vendorHash - else if self ? vendorSha256 then - self.vendorSha256 - else - lib.fakeSha256; + ${postFixup} + ''; + passthru = { + inherit (deps) depsListFile; + }; }); - nativeBuildInputs = flutterDeps ++ [ - # flutter dev tools - cmake - ninja - pkg-config - wrapGAppsHook - # flutter likes dynamic linking - autoPatchelfHook - ] ++ lib.optionals (args ? nativeBuildInputs) args.nativeBuildInputs; - - buildInputs = [ - # cmake deps - gtk3 - glib - pcre - util-linux - # also required by cmake, not sure if really needed or dep of all packages - libselinux - libsepol - libthai - libdatrie - xorg.libXdmcp - xorg.libXtst - libxkbcommon - dbus - at-spi2-core - libsecret - jsoncpp - # build deps - xorg.libX11 - # directly required by build - libepoxy - ] ++ lib.optionals (args ? buildInputs) args.buildInputs; - - # TODO: do we need this? - NIX_LDFLAGS = "-rpath ${lib.makeLibraryPath self.buildInputs}"; - env.NIX_CFLAGS_COMPILE = "-I${xorg.libX11}/include"; - LD_LIBRARY_PATH = lib.makeLibraryPath self.buildInputs; - - configurePhase = '' - runHook preConfigure - - # for some reason fluffychat build breaks without this - seems file gets overriden by some tool - cp pubspec.yaml pubspec-backup - - # we get this from $depsFolder so disabled for now, but we might need it again once deps are fetched properly - # flutter config --no-analytics >/dev/null 2>/dev/null # mute first-run - # flutter config --enable-linux-desktop - - # extract deps - depsFolder=$(mktemp -d) - tar xzf "$deps" -C "$depsFolder" - - # after extracting update paths to point to real paths - find "$depsFolder" -type f -exec sed -i \ - -e s,${placeholder_deps},$depsFolder,g \ - -e s,${placeholder_flutter},${flutter.unwrapped},g \ - {} + - - # ensure we're using a lockfile for the right package version - if [ -e pubspec.lock ]; then - # FIXME: currently this is broken. in theory this should not break, but flutter has it's own way of doing things. - # diff -u pubspec.lock $depsFolder/pubspec.lock - true + packageOverrideRepository = (callPackage ../../development/compilers/flutter/package-overrides { }) // customPackageOverrides; + productPackages = builtins.filter (package: package.kind != "dev") + (if autoDepsList + then builtins.fromJSON (builtins.readFile deps.depsListFile) else - cp -v "$depsFolder/pubspec.lock" . - fi - diff -u pubspec.yaml $depsFolder/pubspec.yaml - - mv -v $(find $depsFolder/f -type f) . - - # prepare - export HOME=$depsFolder - export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} - export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 - - # binaries need to be patched - autoPatchelf -- "$depsFolder" - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - # for some reason fluffychat build breaks without this - seems file gets overriden by some tool - mv pubspec-backup pubspec.yaml - mkdir -p build/flutter_assets/fonts - - flutter packages get --offline -v - flutter build linux --release -v - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - built=build/linux/*/release/bundle - - mkdir -p $out/bin - mv $built $out/app - - for f in $(find $out/app -iname "*.desktop" -type f); do - install -D $f $out/share/applications/$(basename $f) - done - - for f in $(find $out/app -maxdepth 1 -type f); do - ln -s $f $out/bin/$(basename $f) - done - - # this confuses autopatchelf hook otherwise - rm -rf "$depsFolder" - - # make *.so executable - find $out/app -iname "*.so" -type f -exec chmod +x {} + - - # remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral - for f in $(find $out/app -executable -type f); do - if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also - echo "strip RPath of $f" - newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g") - patchelf --set-rpath "$newrp" "$f" - fi - done - - runHook postInstall - ''; -})) self; + if depsListFile == null + then [ ] + else builtins.fromJSON (builtins.readFile depsListFile)); in - self +builtins.foldl' + (prev: package: + if packageOverrideRepository ? ${package.name} + then + prev.overrideAttrs + (packageOverrideRepository.${package.name} { + inherit (package) + name + version + kind + source + dependencies; + }) + else prev) + baseDerivation + productPackages diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index 2cd30af56b7..73a3f12b20c 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -158,6 +158,15 @@ stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "carg meta = { # default to Rust's platforms - platforms = rustc.meta.platforms; + platforms = rustc.meta.platforms ++ [ + # Platforms without host tools from + # https://doc.rust-lang.org/nightly/rustc/platform-support.html + "armv7a-darwin" + "armv5tel-linux" "armv6l-linux" "armv7a-linux" "m68k-linux" + "riscv32-linux" + "armv6l-netbsd" + "x86_64-redox" + "wasm32-wasi" + ]; } // meta; }) diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix index cd506b61c59..82aef1735a7 100644 --- a/pkgs/data/documentation/gnome-user-docs/default.nix +++ b/pkgs/data/documentation/gnome-user-docs/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "gnome-user-docs"; - version = "44.0"; + version = "44.1"; src = fetchurl { url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "z2zX65xBSd2Tlm9x+huQevyPZR7MOvVOEIW89K0hsb0="; + sha256 = "k/MpTUP9IvmWLM9r0X/2Tq54psoGP+bB6bxY0A8046g="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome/apps/gnome-connections/default.nix b/pkgs/desktops/gnome/apps/gnome-connections/default.nix index 13dc7cd9690..d28b7bb206a 100644 --- a/pkgs/desktops/gnome/apps/gnome-connections/default.nix +++ b/pkgs/desktops/gnome/apps/gnome-connections/default.nix @@ -22,11 +22,11 @@ stdenv.mkDerivation rec { pname = "gnome-connections"; - version = "44.0"; + version = "44.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-NMemu/7Jqaz6nC0tukslFDHNcYdPjwVcX/JvJvQkQZk="; + hash = "sha256-E2otkksHfVzEEAyEWCbUcURCMKFsjawnMhE2gBcaYms="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix index 2c18f50dbd2..4c99e038122 100644 --- a/pkgs/desktops/gnome/core/epiphany/default.nix +++ b/pkgs/desktops/gnome/core/epiphany/default.nix @@ -36,11 +36,11 @@ stdenv.mkDerivation rec { pname = "epiphany"; - version = "44.1"; + version = "44.2"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "u60o/HJzqGa5teXdVoa9BIQww/C+7UwIJgtNCN2P+Fs="; + sha256 = "sfbfFftqYX/t1hmLLcqr1EENJYNECdpRVwndd8/FazM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix index 9470db3d38c..5af4699eff5 100644 --- a/pkgs/development/compilers/cmdstan/default.nix +++ b/pkgs/development/compilers/cmdstan/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "cmdstan"; - version = "2.31.0"; + version = "2.32.0"; src = fetchFromGitHub { owner = "stan-dev"; repo = pname; rev = "v${version}"; fetchSubmodules = true; - sha256 = "sha256-Uh/ZhEnbhQwC8xGFjDzH9No3VRgVbHYk2KoC+e3YhJw="; + hash = "sha256-H8JXOqiSG9N+DD84S3iYvXnSgKUJuf7UZ7qT05Ti8xQ="; }; nativeBuildInputs = [ stanc ]; diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 8ebe0d816de..69f88d3aaf4 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -3,7 +3,7 @@ let # To control nodejs version we pass down - nodejs = pkgs.nodejs-14_x; + nodejs = pkgs.nodejs_14; fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { }; @@ -116,7 +116,7 @@ let nodePkgs = pkgs.callPackage ./packages/node-composition.nix { inherit pkgs; - nodejs = pkgs.nodejs-14_x; + nodejs = pkgs.nodejs_14; inherit (pkgs.stdenv.hostPlatform) system; }; diff --git a/pkgs/development/compilers/elm/packages/node-composition.nix b/pkgs/development/compilers/elm/packages/node-composition.nix index bbb39db07b7..b6110ac4db9 100644 --- a/pkgs/development/compilers/elm/packages/node-composition.nix +++ b/pkgs/development/compilers/elm/packages/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../node-packages/node-env.nix { diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 642bcff6469..2cc1844801f 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -1,25 +1,26 @@ -{ callPackage, fetchurl, dart }: +{ callPackage, fetchzip, dart }: let - mkFlutter = opts: callPackage (import ./flutter.nix opts) { }; + mkFlutter = { version, engineVersion, patches, dart, src }: callPackage ./flutter.nix { inherit version engineVersion patches dart src; }; + wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); in map (f: dir + ("/" + f)) files; - flutterDrv = { version, pname, dartVersion, hash, dartHash, patches }: mkFlutter { - inherit version pname patches; + flutterDrv = { version, engineVersion, dartVersion, hash, dartHash, patches }: mkFlutter { + inherit version engineVersion patches; dart = dart.override { version = dartVersion; sources = { - "${dartVersion}-x86_64-linux" = fetchurl { + "${dartVersion}-x86_64-linux" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; sha256 = dartHash.x86_64-linux; }; - "${dartVersion}-aarch64-linux" = fetchurl { + "${dartVersion}-aarch64-linux" = fetchzip { url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; sha256 = dartHash.aarch64-linux; }; }; }; - src = fetchurl { + src = fetchzip { url = "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${version}-stable.tar.xz"; sha256 = hash; }; @@ -28,27 +29,27 @@ let flutter3Patches = getPatches ./patches/flutter3; in { - inherit mkFlutter flutterDrv flutter2Patches flutter3Patches; + inherit mkFlutter wrapFlutter flutterDrv flutter3Patches flutter2Patches; stable = flutterDrv { - pname = "flutter"; - version = "3.3.8"; - dartVersion = "2.18.4"; - hash = "sha256-QH+10F6a0XYEvBetiAi45Sfy7WTdVZ1i8VOO4JuSI24="; + version = "3.7.12"; + engineVersion = "1a65d409c7a1438a34d21b60bf30a6fd5db59314"; + dartVersion = "2.19.6"; + hash = "sha256-5ExDBQXIpoZ5NwS66seY3m9/V8xDiyq/RdzldAyHdEE="; dartHash = { - x86_64-linux = "sha256-lFw+KaxzhuAMnu6ypczINqywzpiD+8Kd+C/UHJDrO9Y="; - aarch64-linux = "sha256-snlFTY4oJ4ALGLc210USbI2Z///cx1IVYUWm7Vo5z2I="; + x86_64-linux = "sha256-4ezRuwhQHVCxZg5WbzU/tBUDvZVpfCo6coDE4K0UzXo="; + aarch64-linux = "sha256-pYmClIqOo0sRPOkrcF4xQbo0mHlrr1TkhT1fnNyYNck="; }; patches = flutter3Patches; }; v2 = flutterDrv { - pname = "flutter"; version = "2.10.5"; + engineVersion = "57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab"; dartVersion = "2.16.2"; - hash = "sha256-DTZwxlMUYk8NS1SaWUJolXjD+JnRW73Ps5CdRHDGnt0="; + hash = "sha256-MxaWvlcCfXN8gsC116UMzqb4LgixHL3YjrGWy7WYgW4="; dartHash = { - x86_64-linux = "sha256-egrYd7B4XhkBiHPIFE2zopxKtQ58GqlogAKA/UeiXnI="; - aarch64-linux = "sha256-vmerjXkUAUnI8FjK+62qLqgETmA+BLPEZXFxwYpI+KY="; + x86_64-linux = "sha256-vxKxysg6e3Qxtlp4dLxOZaBtgHGtl7XYd73zFZd9yJc="; + aarch64-linux = "sha256-ZfpR6fj/a9Bsgrg31Z/uIJaCHIWtcQH3VTTVkDJKkwA="; }; patches = flutter2Patches; }; diff --git a/pkgs/development/compilers/flutter/engine-artifacts/default.nix b/pkgs/development/compilers/flutter/engine-artifacts/default.nix new file mode 100644 index 00000000000..214a195e0c4 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine-artifacts/default.nix @@ -0,0 +1,128 @@ +{ lib +, stdenv +, hostPlatform +, engineVersion +, fetchzip +, autoPatchelfHook + +, gtk3 +}: + +let + hashes = (import ./hashes.nix).${engineVersion} or + (throw "There are no known artifact hashes for Flutter engine version ${engineVersion}."); + + artifacts = + { + common = { + flutter_patched_sdk = { archive = "flutter_patched_sdk.zip"; }; + flutter_patched_sdk_product = { archive = "flutter_patched_sdk_product.zip"; }; + }; + platform = { + android = + (lib.genAttrs + [ "arm" "arm64" "x64" ] + (arch: + { + base = [ + { archive = "artifacts.zip"; } + ]; + variants = lib.genAttrs [ "profile" "release" ] + (variant: [ + { archive = "artifacts.zip"; } + { archive = "${lib.toLower hostPlatform.uname.system}-x64.zip"; } + ]); + })) // + { + "x86" = { + base = [ + { archive = "artifacts.zip"; } + ]; + variants.jit-release = [ + { archive = "artifacts.zip"; } + ]; + }; + }; + + linux = lib.genAttrs + [ "arm64" "x64" ] + (arch: + let + linux-flutter-gtk = { + archive = "linux-${arch}-flutter-gtk.zip"; + buildInputs = [ gtk3 ]; + }; + in + { + base = [ + ({ archive = "artifacts.zip"; } // lib.optionalAttrs (arch == "arm64") { + # For some reason, the arm64 artifacts are missing shader code. + postPatch = '' + if [ -d shader_lib ]; then + The shader_lib directory has been included in the artifact archive. + This patch should be removed. + fi + ln -s ${lib.findSingle + (pkg: lib.getName pkg == "flutter-artifact-linux-x64-artifacts") + (throw "Could not find the x64 artifact archive.") + (throw "Could not find the correct x64 artifact archive.") + artifactDerivations.platform.linux.x64.base + }/shader_lib . + ''; + }) + { archive = "font-subset.zip"; } + linux-flutter-gtk + ]; + variants = lib.genAttrs [ "debug" "profile" "release" ] (variant: [ + linux-flutter-gtk + ]); + }); + }; + }; + + mkArtifactDerivation = { platform ? null, variant ? null, archive, ... }@args: + let + artifactDirectory = if platform == null then null else "${platform}${lib.optionalString (variant != null) "-${variant}"}"; + archiveBasename = lib.removeSuffix ".${(lib.last (lib.splitString "." archive))}" archive; + in + stdenv.mkDerivation ({ + pname = "flutter-artifact${lib.optionalString (platform != null) "-${artifactDirectory}"}-${archiveBasename}"; + version = engineVersion; + + src = fetchzip { + url = "https://storage.googleapis.com/flutter_infra_release/flutter/${engineVersion}${lib.optionalString (platform != null) "/${artifactDirectory}"}/${archive}"; + stripRoot = false; + hash = (if artifactDirectory == null then hashes else hashes.${artifactDirectory}).${archive}; + }; + + nativeBuildInputs = [ autoPatchelfHook ]; + + installPhase = "cp -r . $out"; + } // args); + + artifactDerivations = { + common = builtins.mapAttrs (name: mkArtifactDerivation) artifacts.common; + platform = + builtins.mapAttrs + (os: architectures: + builtins.mapAttrs + (architecture: variants: { + base = map + (args: mkArtifactDerivation ({ + platform = "${os}-${architecture}"; + } // args)) + variants.base; + variants = builtins.mapAttrs + (variant: variantArtifacts: map + (args: mkArtifactDerivation ({ + platform = "${os}-${architecture}"; + inherit variant; + } // args)) + variantArtifacts) + variants.variants; + }) + architectures) + artifacts.platform; + }; +in +artifactDerivations diff --git a/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix b/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix new file mode 100644 index 00000000000..e3453748b05 --- /dev/null +++ b/pkgs/development/compilers/flutter/engine-artifacts/hashes.nix @@ -0,0 +1,144 @@ +{ + "1a65d409c7a1438a34d21b60bf30a6fd5db59314" = { + "flutter_patched_sdk.zip" = "sha256-Pvsjttm5OwpJ/pW4UQXvvEiJYCM5CoZZfVXz5jef37k="; + "flutter_patched_sdk_product.zip" = "sha256-fhj2uUOrLwrzHrM6RNVpPNize5Qu6mLQDcSzLT2TbRA="; + "android-arm" = { + "artifacts.zip" = "sha256-KDMiI6SQoZHfFV5LJJZ7VOGyEKC4UxzRc777j4BbXgM="; + }; + "android-arm-profile" = { + "artifacts.zip" = "sha256-MErLoGJWXg4yJ6b6c5bqP8Nat6O7eYSfM71mMNAAQf4="; + "linux-x64.zip" = "sha256-0TZQ05HR7NRqHzeoHZ/sOrjKiSvCpMUH85YXXzV4URg="; + }; + "android-arm-release" = { + "artifacts.zip" = "sha256-hU4S4FOqUGokByZ47nzOqQ4A9QFshruqrpJvJUBHUho="; + "linux-x64.zip" = "sha256-AqNlqjOht+c2sdW5ReoF66ZJWJl1W4vGKbQ3YyderRY="; + }; + "android-arm64" = { + "artifacts.zip" = "sha256-ApNg3Uu9gyGNsx7sdpTCz1yADVAI5ZuNHgvgiuH9IpQ="; + }; + "android-arm64-profile" = { + "artifacts.zip" = "sha256-D/8+WKPIkOaV3PwkCHiJROFlokm4lWWmtPQb93Yqwr0="; + "linux-x64.zip" = "sha256-S0RHLov6/C22VvGdvZV87Ybaxun8YBrw1gTgNklRcM0="; + }; + "android-arm64-release" = { + "artifacts.zip" = "sha256-OoYqHtwmT+VWJ+G+sMXM5+ux3h1Fnyo9Vj2za9cm5eE="; + "linux-x64.zip" = "sha256-NuXclg1a+Ofw5AWJ1tajpn2jYEZw6DluWxrFVL8rPfg="; + }; + "android-x86" = { + "artifacts.zip" = "sha256-nN66nIrcbJHq2S4oIT5e2NCv7mS5Kw+HBv3ReHs+d3Y="; + }; + "android-x86-jit-release" = { + "artifacts.zip" = "sha256-A8F6K78Ykp1rMsUmjD7B9nFFPAubZnqAqgWSzbNCRwk="; + }; + "android-x64" = { + "artifacts.zip" = "sha256-hrBvnzCj/24h5kat96avlgXi6WhMsos5aPlkgxOYo8Q="; + }; + "android-x64-profile" = { + "artifacts.zip" = "sha256-xzSj/2ah9aQoosaNGkSWFP3bMNJqRSFc0+78XEBHwzM="; + "linux-x64.zip" = "sha256-HfBiz1JWlBQ8KEfmf8uDlVzFlDt3+VF2VeY82tsMjHs="; + }; + "android-x64-release" = { + "artifacts.zip" = "sha256-TcfMeA+8Uf9yRrYdEIsjip0cKmSUm2Ow1tkoE9803XY="; + "linux-x64.zip" = "sha256-D6efb6pj9+xjPnJu3O+ZCmwfatBzasuFZEFRntAiU9U="; + }; + "linux-arm64" = { + "artifacts.zip" = "sha256-xyKVaEFb5gVkVrPzDrOql5BmXGO0FnCSeXOoQ10ZFrw="; + "font-subset.zip" = "sha256-Ulwb6q2SzB4suMJhAM3zAwWOzlEImlu9Ha+w5u4QqIU="; + "linux-arm64-flutter-gtk.zip" = "sha256-SiYOH++py4zeoD3BkNayqy/C9Zz9OiYQ5+u+pDLIpWg="; + }; + "linux-arm64-debug" = { + "linux-arm64-flutter-gtk.zip" = "sha256-SiYOH++py4zeoD3BkNayqy/C9Zz9OiYQ5+u+pDLIpWg="; + }; + "linux-arm64-profile" = { + "linux-arm64-flutter-gtk.zip" = "sha256-xB0eqrBYD7vhOwYUgJwNaBftNZJgdwxA9AUpEfX0iFs="; + }; + "linux-arm64-release" = { + "linux-arm64-flutter-gtk.zip" = "sha256-aHLKV129WIRsLUG6xTMwCKB4eXD3jonqinjI8KSsOus="; + }; + "linux-x64" = { + "artifacts.zip" = "sha256-+zIABFXUpiqn3OMoLcU4NDLxZ1y9z0r46iCTNRHAkz8="; + "font-subset.zip" = "sha256-W4SRPvA4rraVqN1ehbY6MFL7ZIWDHVJhjlLtxyUJJKY="; + "linux-x64-flutter-gtk.zip" = "sha256-boICnuJF4zqGb7kaN5haO/df9hC9KeJidt3uIK06S7M="; + }; + "linux-x64-debug" = { + "linux-x64-flutter-gtk.zip" = "sha256-boICnuJF4zqGb7kaN5haO/df9hC9KeJidt3uIK06S7M="; + }; + "linux-x64-profile" = { + "linux-x64-flutter-gtk.zip" = "sha256-RAsgupVF18IxLaP8tJ7XRQ8y/um46nlpA8fDITPwLqY="; + }; + "linux-x64-release" = { + "linux-x64-flutter-gtk.zip" = "sha256-RAsgupVF18IxLaP8tJ7XRQ8y/um46nlpA8fDITPwLqY="; + }; + }; + "57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab" = { + "flutter_patched_sdk.zip" = "sha256-A/y5Y+Aw0CUhXABbdyQcGCSnSbO7Ask+71m8LZDSjH4="; + "flutter_patched_sdk_product.zip" = "sha256-VPxF4NrTUhFbpztyPnLEiC9Cy0kDDbYvy21kA5ES4HM="; + "android-arm" = { + "artifacts.zip" = "sha256-3igOO+rgFh0fNTIIiiucqSmqC+NKFPG5H1CnIa9bDcM="; + }; + "android-arm-profile" = { + "artifacts.zip" = "sha256-qai254LNrQXJBsaoQgXao6mBpzzcYHh4sUESurSyxNA="; + "linux-x64.zip" = "sha256-hBkntf1fX5w752ly6lVUHm6wEM/4ep9guJGma3SKjxU="; + }; + "android-arm-release" = { + "artifacts.zip" = "sha256-7yuXIJyErb1PZyk56+TtlJY0o1EOwmdAvpVfGGAteuA="; + "linux-x64.zip" = "sha256-v/jBnE662XOX/fOhYbve7ZiQwVu0haIMOD532Vdj9Yw="; + }; + "android-arm64" = { + "artifacts.zip" = "sha256-Llxu8+SkYEtnoiMf01rffPpF/AjrlV+QPuAW850oMzo="; + }; + "android-arm64-profile" = { + "artifacts.zip" = "sha256-su4U80supv8Q+2kE/5FTybiA5NFbKNMHqdB0NHCqrVI="; + "linux-x64.zip" = "sha256-yGt0SztNxYHDwZ1DwzLg5REE8rmMRKNn7GfCQ+GEHBw="; + }; + "android-arm64-release" = { + "artifacts.zip" = "sha256-+p1+SXSEglR3jqWc/jKgmtR9nOGgMRGC+anoTs1kRc8="; + "linux-x64.zip" = "sha256-5UiG5gxOso8NO+7nkb6bjxW8e/Tr7mlvPRUagSRTCNs="; + }; + "android-x86" = { + "artifacts.zip" = "sha256-Cbo17VYWaclyO1RLHkwjbqoFVZ283IgGdN0uDdiWvQs="; + }; + "android-x86-jit-release" = { + "artifacts.zip" = "sha256-gSPm2tClTj2vEYtGKgobD/mebWLNlDp8nEoFX0rhEOk="; + }; + "android-x64" = { + "artifacts.zip" = "sha256-PVb1aKMMTlDT41O2MZRAUjCq8h+m/s2h5qOnEFPd77w="; + }; + "android-x64-profile" = { + "artifacts.zip" = "sha256-gZSSRCDy42AMLMiu/KH7YsDuFVaxRcoyXzUgV8V025Y="; + "linux-x64.zip" = "sha256-9+LCjeI18u/GlPDMIl6Jx6b++lc90fJ5tVBlDR+ctDs="; + }; + "android-x64-release" = { + "artifacts.zip" = "sha256-rsS08VP86/b2S0TEYusCEJBvS4BuevsmV9REAxRgJIc="; + "linux-x64.zip" = "sha256-H4nFCJ+iCUzIwHogYzS+h33eDMaFnz71dcDLSQW1aPg="; + }; + "linux-arm64" = { + "artifacts.zip" = "sha256-kCxsKQQQX6wzhD46bfoflKdz3AYYkoSyavhfyTDuHLU="; + "font-subset.zip" = "sha256-Yk6JsNWe7ftEQU/TsjDUZSFeLzeIbcS63lhl8fsWsdk="; + "linux-arm64-flutter-gtk.zip" = "sha256-girVdkXrTO5tssoi+eKwG9ykstCR/VOx8zWtcAz8AKM="; + }; + "linux-arm64-debug" = { + "linux-arm64-flutter-gtk.zip" = "sha256-girVdkXrTO5tssoi+eKwG9ykstCR/VOx8zWtcAz8AKM="; + }; + "linux-arm64-profile" = { + "linux-arm64-flutter-gtk.zip" = "sha256-VL5cwYaZ1FOJ3TwJzbgvHDQwkU9NrHGnf/tQhZ/dAGg="; + }; + "linux-arm64-release" = { + "linux-arm64-flutter-gtk.zip" = "sha256-27hy7mLFCLkqJbn+5p5eJdYnfBKTyfFe98iUMmKyz4g="; + }; + "linux-x64" = { + "artifacts.zip" = "sha256-JgEX+rKxdcWBBaxyR42eC7qOAvaawF9M2+rfaD4IgeA="; + "font-subset.zip" = "sha256-5EoxBrxSjaLLd+rKrxVYNoUZaejk0qcQ5LVsmqtKc2g="; + "linux-x64-flutter-gtk.zip" = "sha256-MH5HDPoXXi/KpQLQ0U1tQzZ0sbZx1RVhZtQ7L+WhZgk="; + }; + "linux-x64-debug" = { + "linux-x64-flutter-gtk.zip" = "sha256-MH5HDPoXXi/KpQLQ0U1tQzZ0sbZx1RVhZtQ7L+WhZgk="; + }; + "linux-x64-profile" = { + "linux-x64-flutter-gtk.zip" = "sha256-r2hB/AKrB5vNga2fve4tTM4j+Zp9KDqNlTjKQhQvbaI="; + }; + "linux-x64-release" = { + "linux-x64-flutter-gtk.zip" = "sha256-muREs2iUiHCZM+SGN5q3HRRGnejJapKN582Aeog49MI="; + }; + }; +} diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index f755d3118af..92d635be967 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -1,190 +1,196 @@ -{ pname -, version +{ version +, engineVersion , patches , dart , src -}: +, includedEngineArtifacts ? { + common = [ + "flutter_patched_sdk" + "flutter_patched_sdk_product" + ]; + platform = { + android = lib.optionalAttrs stdenv.hostPlatform.isx86_64 + ((lib.genAttrs [ "arm" "arm64" "x64" ] (architecture: [ "profile" "release" ])) // { x86 = [ "jit-release" ]; }); + linux = lib.optionals stdenv.hostPlatform.isLinux + (lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64")) + (architecture: [ "debug" "profile" "release" ])); + }; + } -{ bash -, buildFHSEnv -, cacert -, git -, runCommand -, stdenv , lib -, alsa-lib -, dbus -, expat -, libpulseaudio -, libuuid -, libX11 -, libxcb -, libXcomposite -, libXcursor -, libXdamage -, libXfixes -, libXrender -, libXtst -, libXi -, libXext -, libGL -, nspr -, nss -, systemd -, which , callPackage -}: -let - drvName = "flutter-${version}"; - flutter = stdenv.mkDerivation { - name = "${drvName}-unwrapped"; - - buildInputs = [ git ]; - - inherit src patches version; - - postPatch = '' - patchShebangs --build ./bin/ - ''; - - buildPhase = '' - export FLUTTER_ROOT="$(pwd)" - export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" - export SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" - - export SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot" - export STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp" - - export DART_SDK_PATH="${dart}" - - HOME=../.. # required for pub upgrade --offline, ~/.pub-cache - # path is relative otherwise it's replaced by /build/flutter - - pushd "$FLUTTER_TOOLS_DIR" - ${dart}/bin/dart pub get --offline - popd - - local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" - ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" "$SCRIPT_PATH" - echo "$revision" > "$STAMP_PATH" - echo -n "${version}" > version - - rm -r bin/cache/{artifacts,dart-sdk,downloads} - rm bin/cache/*.stamp - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out - cp -r . $out - mkdir -p $out/bin/cache/ - ln -sf ${dart} $out/bin/cache/dart-sdk - - runHook postInstall - ''; - - doInstallCheck = true; - nativeInstallCheckInputs = [ which ]; - installCheckPhase = '' - runHook preInstallCheck - - export HOME="$(mktemp -d)" - $out/bin/flutter config --android-studio-dir $HOME - $out/bin/flutter config --android-sdk $HOME - $out/bin/flutter --version | fgrep -q '${version}' - - runHook postInstallCheck - ''; - }; - - # Wrap flutter inside an fhs user env to allow execution of binary, - # like adb from $ANDROID_HOME or java from android-studio. - fhsEnv = buildFHSEnv { - name = "${drvName}-fhs-env"; - multiPkgs = pkgs: [ - # Flutter only use these certificates - (runCommand "fedoracert" { } '' - mkdir -p $out/etc/pki/tls/ - ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs - '') - pkgs.zlib - ]; - targetPkgs = pkgs: - with pkgs; [ - bash - curl - dart - git - unzip - which - xz - - # flutter test requires this lib - libGLU - - # for android emulator - alsa-lib - dbus - expat - libpulseaudio - libuuid - libX11 - libxcb - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXrender - libXtst - libGL - nspr - nss - systemd - ]; - }; +, stdenv +, runCommandLocal +, symlinkJoin +, lndir +, git +, which +}@args: -in let -self = (self: -runCommand drvName -{ - startScript = '' - #!${bash}/bin/bash - export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} - export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 - ${fhsEnv}/bin/${drvName}-fhs-env ${flutter}/bin/flutter --no-version-check "$@" - ''; - preferLocalBuild = true; - allowSubstitutes = false; - passthru = { - unwrapped = flutter; - inherit dart; - mkFlutterApp = callPackage ../../../build-support/flutter { - flutter = self; + engineArtifactDirectory = + let + engineArtifacts = callPackage ./engine-artifacts { inherit engineVersion; }; + in + runCommandLocal "flutter-engine-artifacts-${version}" { } + ( + let + mkCommonArtifactLinkCommand = { artifact }: + '' + mkdir -p $out/common + ${lndir}/bin/lndir -silent ${artifact} $out/common + ''; + mkPlatformArtifactLinkCommand = { artifact, os, architecture, variant ? null }: + let + artifactDirectory = "${os}-${architecture}${lib.optionalString (variant != null) "-${variant}"}"; + in + '' + mkdir -p $out/${artifactDirectory} + ${lndir}/bin/lndir -silent ${artifact} $out/${artifactDirectory} + ''; + in + '' + ${ + builtins.concatStringsSep "\n" + ((map (name: mkCommonArtifactLinkCommand { + artifact = engineArtifacts.common.${name}; + }) (if includedEngineArtifacts ? common then includedEngineArtifacts.common else [ ])) ++ + (builtins.foldl' (commands: os: commands ++ + (builtins.foldl' (commands: architecture: commands ++ + (builtins.foldl' (commands: variant: commands ++ + (map (artifact: mkPlatformArtifactLinkCommand { + inherit artifact os architecture variant; + }) engineArtifacts.platform.${os}.${architecture}.variants.${variant})) + (map (artifact: mkPlatformArtifactLinkCommand { + inherit artifact os architecture; + }) engineArtifacts.platform.${os}.${architecture}.base) + includedEngineArtifacts.platform.${os}.${architecture})) + [] (builtins.attrNames includedEngineArtifacts.platform.${os}))) + [] (builtins.attrNames (if includedEngineArtifacts ? platform then includedEngineArtifacts.platform else { })))) + } + '' + ); + + unwrapped = + stdenv.mkDerivation { + name = "flutter-${version}-unwrapped"; + inherit src patches version; + + outputs = [ "out" "cache" ]; + + buildInputs = [ git ]; + + preConfigure = '' + if [ "$(< bin/internal/engine.version)" != '${engineVersion}' ]; then + echo 1>&2 "The given engine version (${engineVersion}) does not match the version required by the Flutter SDK ($(< bin/internal/engine.version))." + exit 1 + fi + ''; + + postPatch = '' + patchShebangs --build ./bin/ + ''; + + buildPhase = '' + export FLUTTER_ROOT="$(pwd)" + export FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" + export SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" + + export SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot" + export STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp" + + export DART_SDK_PATH="${dart}" + + # The Flutter tool compilation requires dependencies to be cached, as there is no Internet access. + # Dart expects package caches to be mutable, and does not support composing cache directories. + # The packages cached during the build therefore cannot be easily used. They are provided through + # the derivation's "cache" output, though, in case they are needed. + # + # Note that non-cached packages will normally be fetched from the Internet when they are needed, so Flutter + # will function without an existing package cache as long as it has an Internet connection. + export PUB_CACHE="$cache" + + if [ -d .pub-preload-cache ]; then + ${dart}/bin/dart pub cache preload .pub-preload-cache/* + elif [ -d .pub-cache ]; then + mv .pub-cache "$PUB_CACHE" + else + echo 'ERROR: Failed to locate the Dart package cache required to build the Flutter tool.' + exit 1 + fi + + pushd "$FLUTTER_TOOLS_DIR" + ${dart}/bin/dart pub get --offline + popd + + local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" + ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" "$SCRIPT_PATH" + echo "$revision" > "$STAMP_PATH" + echo -n "${version}" > version + + # Certain prebuilts should be replaced with Nix-built (or at least Nix-patched) equivalents. + rm -r \ + bin/cache/dart-sdk \ + bin/cache/artifacts/engine + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r . $out + ln -sf ${dart} $out/bin/cache/dart-sdk + ln -sf ${engineArtifactDirectory} $out/bin/cache/artifacts/engine + + runHook postInstall + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ which ]; + installCheckPhase = '' + runHook preInstallCheck + + export HOME="$(mktemp -d)" + $out/bin/flutter config --android-studio-dir $HOME + $out/bin/flutter config --android-sdk $HOME + $out/bin/flutter --version | fgrep -q '${version}' + + runHook postInstallCheck + ''; + + passthru = { + inherit dart; + + # The derivation containing the original Flutter SDK files. + # When other derivations wrap this one, any unmodified files + # found here should be included as-is, for tooling compatibility. + sdk = unwrapped; + buildFlutterApplication = callPackage ../../../build-support/flutter { + # Package a minimal version of Flutter that only uses Linux desktop release artifacts. + flutter = callPackage ./wrapper.nix { + flutter = callPackage ./flutter.nix (args // { + includedEngineArtifacts = { + common = [ "flutter_patched_sdk_product" ]; + platform.linux = lib.optionals stdenv.hostPlatform.isLinux + (lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64")) + (architecture: [ "release" ])); + }; + }); + }; + }; + }; + + meta = with lib; { + description = "Flutter is Google's SDK for building mobile, web and desktop with Dart"; + longDescription = '' + Flutter is Google’s UI toolkit for building beautiful, + natively compiled applications for mobile, web, and desktop from a single codebase. + ''; + homepage = "https://flutter.dev"; + license = licenses.bsd3; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ babariviere ericdallo FlafyDev gilice hacker1024 ]; + }; }; - }; - meta = with lib; { - description = "Flutter is Google's SDK for building mobile, web and desktop with Dart"; - longDescription = '' - Flutter is Google’s UI toolkit for building beautiful, - natively compiled applications for mobile, web, and desktop from a single codebase. - ''; - homepage = "https://flutter.dev"; - license = licenses.bsd3; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ babariviere ericdallo h7x4 ]; - }; -} '' - mkdir -p $out/bin - - mkdir -p $out/bin/cache/ - ln -sf ${dart} $out/bin/cache/dart-sdk - - echo -n "$startScript" > $out/bin/${pname} - chmod +x $out/bin/${pname} -'') self; in -self +unwrapped diff --git a/pkgs/development/compilers/flutter/package-overrides/default.nix b/pkgs/development/compilers/flutter/package-overrides/default.nix new file mode 100644 index 00000000000..4a3fcd1cded --- /dev/null +++ b/pkgs/development/compilers/flutter/package-overrides/default.nix @@ -0,0 +1,4 @@ +{ callPackage }: + +{ +} diff --git a/pkgs/development/compilers/flutter/patches/flutter2/copy-without-perms.patch b/pkgs/development/compilers/flutter/patches/flutter2/copy-without-perms.patch new file mode 100644 index 00000000000..f262f04bc94 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/flutter2/copy-without-perms.patch @@ -0,0 +1,17 @@ +diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart +index 68a4cd0257..1e212b9b0d 100644 +--- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart ++++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart +@@ -101,7 +101,11 @@ Future<Depfile> copyAssets(Environment environment, Directory outputDirectory, { + outputPath: file.path, + relativePath: entry.key, + )) { +- await (content.file as File).copy(file.path); ++ // Not using File.copy because it preserves permissions. ++ final sourceFile = content.file as File; ++ final destinationFile = file; ++ ++ await destinationFile.writeAsBytes(await sourceFile.readAsBytes(), flush: true); + } + } else { + await file.writeAsBytes(await entry.value.contentsAsBytes()); diff --git a/pkgs/development/compilers/flutter/patches/flutter2/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/flutter2/disable-auto-update.patch index e799f6e1550..33805b7a54d 100644 --- a/pkgs/development/compilers/flutter/patches/flutter2/disable-auto-update.patch +++ b/pkgs/development/compilers/flutter/patches/flutter2/disable-auto-update.patch @@ -34,3 +34,16 @@ index 396756808e..d324a6df59 100644 // See if the user specified a specific device. globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?; + +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index defc86cc20..6c0824c965 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -666,6 +666,7 @@ class Cache { + + /// Update the cache to contain all `requiredArtifacts`. + Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts) async { ++ return; + if (!_lockEnabled) { + return; + } diff --git a/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch b/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch index a81d2def242..efab81d2fc0 100644 --- a/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch +++ b/pkgs/development/compilers/flutter/patches/flutter2/move-cache.patch @@ -1,31 +1,5 @@ -diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart -index ed42baea29..12941f733a 100644 ---- a/packages/flutter_tools/lib/src/asset.dart -+++ b/packages/flutter_tools/lib/src/asset.dart -@@ -11,11 +11,11 @@ import 'base/file_system.dart'; - import 'base/logger.dart'; - import 'base/platform.dart'; - import 'build_info.dart'; --import 'cache.dart'; - import 'convert.dart'; - import 'dart/package_map.dart'; - import 'devfs.dart'; - import 'flutter_manifest.dart'; -+import 'globals.dart' as globals; - import 'license_collector.dart'; - import 'project.dart'; - -@@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle { - } - final Uri entryUri = _fileSystem.path.toUri(asset); - result.add(_Asset( -- baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'), -+ baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts'), - relativeUri: Uri(path: entryUri.pathSegments.last), - entryUri: entryUri, - package: null, diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart -index defc86cc20..7fdf14d112 100644 +index dd80b1e46e..8e54517765 100644 --- a/packages/flutter_tools/lib/src/cache.dart +++ b/packages/flutter_tools/lib/src/cache.dart @@ -22,6 +22,7 @@ import 'base/user_messages.dart'; @@ -36,7 +10,7 @@ index defc86cc20..7fdf14d112 100644 const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo) const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo) -@@ -322,8 +323,13 @@ class Cache { +@@ -318,8 +319,13 @@ class Cache { return; } assert(_lock == null); @@ -51,7 +25,7 @@ index defc86cc20..7fdf14d112 100644 try { _lock = lockFile.openSync(mode: FileMode.write); } on FileSystemException catch (e) { -@@ -382,8 +388,7 @@ class Cache { +@@ -378,8 +384,7 @@ class Cache { String get devToolsVersion { if (_devToolsVersion == null) { @@ -61,12 +35,3 @@ index defc86cc20..7fdf14d112 100644 if (!devToolsDir.existsSync()) { throw Exception('Could not find directory at ${devToolsDir.path}'); } -@@ -536,7 +541,7 @@ class Cache { - if (_rootOverride != null) { - return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache')); - } else { -- return _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin', 'cache')); -+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter')); - } - } - diff --git a/pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch b/pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch new file mode 100644 index 00000000000..281b3840891 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch @@ -0,0 +1,17 @@ +diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart +index 5f458bd53e..7a6c59f98d 100644 +--- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart ++++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart +@@ -128,7 +128,11 @@ Future<Depfile> copyAssets( + break; + } + if (doCopy) { +- await (content.file as File).copy(file.path); ++ // Not using File.copy because it preserves permissions. ++ final sourceFile = content.file as File; ++ final destinationFile = file; ++ ++ await destinationFile.writeAsBytes(await sourceFile.readAsBytes(), flush: true); + } + } else { + await file.writeAsBytes(await entry.value.contentsAsBytes()); diff --git a/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch index 21b676a2af3..87461904613 100644 --- a/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch +++ b/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch @@ -34,3 +34,16 @@ index 738fef987d..03a152e64f 100644 // See if the user specified a specific device. globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?; + +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index dd80b1e46e..8e54517765 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -668,6 +668,7 @@ + + /// Update the cache to contain all `requiredArtifacts`. + Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts, {bool offline = false}) async { ++ return; + if (!_lockEnabled) { + return; + } diff --git a/pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch b/pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch new file mode 100644 index 00000000000..5f391265ce1 --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch @@ -0,0 +1,12 @@ +diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart +index 651dc6cf36..236eb370e1 100644 +--- a/packages/flutter_tools/lib/src/doctor.dart ++++ b/packages/flutter_tools/lib/src/doctor.dart +@@ -515,7 +515,6 @@ class FlutterValidator extends DoctorValidator { + final String flutterRoot = _flutterRoot(); + messages.add(_getFlutterVersionMessage(frameworkVersion, versionChannel, flutterRoot)); + +- _validateRequiredBinaries(flutterRoot).forEach(messages.add); + messages.add(_getFlutterUpstreamMessage(version)); + if (gitUrl != null) { + messages.add(ValidationMessage(_userMessages.flutterGitUrl(gitUrl))); diff --git a/pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch b/pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch index 008c5959e5b..efab81d2fc0 100644 --- a/pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch +++ b/pkgs/development/compilers/flutter/patches/flutter3/move-cache.patch @@ -1,26 +1,3 @@ -diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart -diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart -index 9dd7272fbe..642c8e48e4 100644 ---- a/packages/flutter_tools/lib/src/asset.dart -+++ b/packages/flutter_tools/lib/src/asset.dart -@@ -16,6 +16,7 @@ import 'convert.dart'; - import 'dart/package_map.dart'; - import 'devfs.dart'; - import 'flutter_manifest.dart'; -+import 'globals.dart' as globals; - import 'license_collector.dart'; - import 'project.dart'; - -@@ -530,8 +531,7 @@ class ManifestAssetBundle implements AssetBundle { - final Uri entryUri = _fileSystem.path.toUri(asset); - result.add(_Asset( - baseDir: _fileSystem.path.join( -- Cache.flutterRoot!, -- 'bin', 'cache', 'artifacts', 'material_fonts', -+ globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'artifacts', 'material_fonts', - ), - relativeUri: Uri(path: entryUri.pathSegments.last), - entryUri: entryUri, diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart index dd80b1e46e..8e54517765 100644 --- a/packages/flutter_tools/lib/src/cache.dart @@ -58,141 +35,3 @@ index dd80b1e46e..8e54517765 100644 if (!devToolsDir.existsSync()) { throw Exception('Could not find directory at ${devToolsDir.path}'); } -@@ -532,7 +537,7 @@ class Cache { - if (_rootOverride != null) { - return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache')); - } else { -- return _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin', 'cache')); -+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter')); - } - } - -index c539d67156..4e0a64f7a9 100644 ---- a/packages/flutter_tools/lib/src/artifacts.dart -+++ b/packages/flutter_tools/lib/src/artifacts.dart -@@ -346,10 +346,10 @@ class CachedArtifacts implements Artifacts { - ) { - switch (artifact) { - case HostArtifact.engineDartSdkPath: -- final String path = _dartSdkPath(_cache); -+ final String path = _dartSdkPath(_fileSystem); - return _fileSystem.directory(path); - case HostArtifact.engineDartBinary: -- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', _hostArtifactToFileName(artifact, _platform)); -+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', _hostArtifactToFileName(artifact, _platform)); - return _fileSystem.file(path); - case HostArtifact.flutterWebSdk: - final String path = _getFlutterWebSdkPath(); -@@ -398,7 +398,7 @@ class CachedArtifacts implements Artifacts { - case HostArtifact.dart2jsSnapshot: - case HostArtifact.dartdevcSnapshot: - case HostArtifact.kernelWorkerSnapshot: -- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); -+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); - return _fileSystem.file(path); - case HostArtifact.iosDeploy: - final String artifactFileName = _hostArtifactToFileName(artifact, _platform); -@@ -465,11 +465,13 @@ class CachedArtifacts implements Artifacts { - String _getAndroidArtifactPath(Artifact artifact, TargetPlatform platform, BuildMode mode) { - final String engineDir = _getEngineArtifactsPath(platform, mode)!; - switch (artifact) { -+ case Artifact.frontendServerSnapshotForEngineDartSdk: -+ assert(mode != BuildMode.debug, 'Artifact $artifact only available in non-debug mode.'); -+ return _fileSystem.path.join(engineDir, _artifactToFileName(artifact)); - case Artifact.genSnapshot: - assert(mode != BuildMode.debug, 'Artifact $artifact only available in non-debug mode.'); - final String hostPlatform = getNameForHostPlatform(getCurrentHostPlatform()); - return _fileSystem.path.join(engineDir, hostPlatform, _artifactToFileName(artifact)); -- case Artifact.frontendServerSnapshotForEngineDartSdk: - case Artifact.constFinder: - case Artifact.flutterFramework: - case Artifact.flutterMacOSFramework: -@@ -497,13 +499,13 @@ class CachedArtifacts implements Artifacts { - switch (artifact) { - case Artifact.genSnapshot: - case Artifact.flutterXcframework: -+ case Artifact.frontendServerSnapshotForEngineDartSdk: - final String artifactFileName = _artifactToFileName(artifact)!; - final String engineDir = _getEngineArtifactsPath(platform, mode)!; - return _fileSystem.path.join(engineDir, artifactFileName); - case Artifact.flutterFramework: - final String engineDir = _getEngineArtifactsPath(platform, mode)!; - return _getIosEngineArtifactPath(engineDir, environmentType, _fileSystem); -- case Artifact.frontendServerSnapshotForEngineDartSdk: - case Artifact.constFinder: - case Artifact.flutterMacOSFramework: - case Artifact.flutterPatchedSdkPath: -@@ -586,14 +588,10 @@ class CachedArtifacts implements Artifacts { - // For script snapshots any gen_snapshot binary will do. Returning gen_snapshot for - // android_arm in profile mode because it is available on all supported host platforms. - return _getAndroidArtifactPath(artifact, TargetPlatform.android_arm, BuildMode.profile); -- case Artifact.frontendServerSnapshotForEngineDartSdk: -- return _fileSystem.path.join( -- _dartSdkPath(_cache), 'bin', 'snapshots', -- _artifactToFileName(artifact), -- ); - case Artifact.flutterTester: - case Artifact.vmSnapshotData: - case Artifact.isolateSnapshotData: -+ case Artifact.frontendServerSnapshotForEngineDartSdk: - case Artifact.icuData: - final String engineArtifactsPath = _cache.getArtifactDirectory('engine').path; - final String platformDirName = _enginePlatformDirectoryName(platform); -@@ -776,7 +774,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { - final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); - return _fileSystem.file(path); - case HostArtifact.dartdevcSnapshot: -- final String path = _fileSystem.path.join(_dartSdkPath(_cache), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); -+ final String path = _fileSystem.path.join(_dartSdkPath(_fileSystem), 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); - return _fileSystem.file(path); - case HostArtifact.kernelWorkerSnapshot: - final String path = _fileSystem.path.join(_hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', _hostArtifactToFileName(artifact, _platform)); -@@ -901,9 +899,7 @@ class CachedLocalEngineArtifacts implements LocalEngineArtifacts { - case Artifact.windowsCppClientWrapper: - return _fileSystem.path.join(_hostEngineOutPath, artifactFileName); - case Artifact.frontendServerSnapshotForEngineDartSdk: -- return _fileSystem.path.join( -- _hostEngineOutPath, 'dart-sdk', 'bin', 'snapshots', artifactFileName, -- ); -+ return _fileSystem.path.join(_hostEngineOutPath, 'gen', artifactFileName); - } - } - -@@ -1011,8 +1007,8 @@ class OverrideArtifacts implements Artifacts { - } - - /// Locate the Dart SDK. --String _dartSdkPath(Cache cache) { -- return cache.getRoot().childDirectory('dart-sdk').path; -+String _dartSdkPath(FileSystem fileSystem) { -+ return fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'dart-sdk'); - } - - class _TestArtifacts implements Artifacts { -diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart -index aed3eb9285..81b8362648 100644 ---- a/packages/flutter_tools/test/general.shard/artifacts_test.dart -+++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart -@@ -141,10 +141,6 @@ void main() { - artifacts.getArtifactPath(Artifact.flutterTester, platform: TargetPlatform.linux_arm64), - fileSystem.path.join('root', 'bin', 'cache', 'artifacts', 'engine', 'linux-arm64', 'flutter_tester'), - ); -- expect( -- artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), -- fileSystem.path.join('root', 'bin', 'cache', 'dart-sdk', 'bin', 'snapshots', 'frontend_server.dart.snapshot') -- ); - }); - - testWithoutContext('precompiled web artifact paths are correct', () { -@@ -310,11 +306,6 @@ void main() { - artifacts.getHostArtifact(HostArtifact.engineDartSdkPath).path, - fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk'), - ); -- expect( -- artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk), -- fileSystem.path.join('/out', 'host_debug_unopt', 'dart-sdk', 'bin', -- 'snapshots', 'frontend_server.dart.snapshot') -- ); - expect( - artifacts.getHostArtifact(HostArtifact.impellerc).path, - fileSystem.path.join('/out', 'host_debug_unopt', 'impellerc'), diff --git a/pkgs/development/compilers/flutter/sdk-symlink.nix b/pkgs/development/compilers/flutter/sdk-symlink.nix new file mode 100644 index 00000000000..6fb4f5edc0e --- /dev/null +++ b/pkgs/development/compilers/flutter/sdk-symlink.nix @@ -0,0 +1,24 @@ +{ symlinkJoin }: flutter: + +let + self = + symlinkJoin { + name = "${flutter.name}-sdk-links"; + paths = [ flutter flutter.sdk ]; + + passthru = flutter.passthru // { + # Update the SDK attribute. + # This allows any modified SDK files to be included + # in future invocations. + sdk = self; + }; + + meta = flutter.meta // { + longDescription = '' + ${flutter.meta.longDescription} + Modified binaries are linked into the original SDK directory for use with tools that use the whole SDK. + ''; + }; + }; +in +self diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix new file mode 100644 index 00000000000..4ea17924ecb --- /dev/null +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -0,0 +1,110 @@ +{ lib +, stdenv +, callPackage +, flutter +, supportsLinuxDesktop ? stdenv.isLinux +, extraPkgConfigPackages ? [ ] +, extraLibraries ? [ ] +, extraIncludes ? [ ] +, extraCxxFlags ? [ ] +, extraCFlags ? [ ] +, extraLinkerFlags ? [ ] +, makeWrapper +, runCommandLocal +, writeShellScript +, git +, which +, pkg-config +, atk +, cairo +, gdk-pixbuf +, glib +, gtk3 +, harfbuzz +, libepoxy +, pango +, libX11 +, xorgproto +, libdeflate +, zlib +, cmake +, ninja +, clang +}: + +let + # By default, Flutter stores downloaded files (such as the Pub cache) in the SDK directory. + # Wrap it to ensure that it does not do that, preferring home directories instead. + immutableFlutter = writeShellScript "flutter_immutable" '' + export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} + ${flutter}/bin/flutter "$@" + ''; + + # Tools that the Flutter tool depends on. + tools = [ git which ]; + + # Libraries that Flutter apps depend on at runtime. + appRuntimeDeps = lib.optionals supportsLinuxDesktop [ + atk + cairo + gdk-pixbuf + glib + gtk3 + harfbuzz + libepoxy + pango + libX11 + libdeflate + ]; + + # Development packages required for compilation. + appBuildDeps = + let + # https://discourse.nixos.org/t/handling-transitive-c-dependencies/5942/3 + deps = pkg: builtins.filter lib.isDerivation ((pkg.buildInputs or [ ]) ++ (pkg.propagatedBuildInputs or [ ])); + collect = pkg: lib.unique ([ pkg ] ++ deps pkg ++ builtins.concatMap collect (deps pkg)); + in + builtins.concatMap collect appRuntimeDeps; + + # Some header files and libraries are not properly located by the Flutter SDK. + # They must be manually included. + appStaticBuildDeps = (lib.optionals supportsLinuxDesktop [ libX11 xorgproto zlib ]) ++ extraLibraries; + + # Tools used by the Flutter SDK to compile applications. + buildTools = lib.optionals supportsLinuxDesktop [ + pkg-config + cmake + ninja + clang + ]; + + # Nix-specific compiler configuration. + pkgConfigPackages = map (lib.getOutput "dev") (appBuildDeps ++ extraPkgConfigPackages); + includeFlags = map (pkg: "-isystem ${lib.getOutput "dev" pkg}/include") (appStaticBuildDeps ++ extraIncludes); + linkerFlags = (map (pkg: "-rpath,${lib.getOutput "lib" pkg}/lib") appRuntimeDeps) ++ extraLinkerFlags; +in +(callPackage ./sdk-symlink.nix { }) (runCommandLocal "flutter-wrapped" +{ + nativeBuildInputs = [ makeWrapper ]; + + passthru = flutter.passthru // { + inherit (flutter) version; + unwrapped = flutter; + }; + + inherit (flutter) meta; +} '' + for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do + addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path" + done + + mkdir -p $out/bin + makeWrapper '${immutableFlutter}' $out/bin/flutter \ + --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ + --prefix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \ + --prefix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ + --prefix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ + --prefix CXXFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCxxFlags)}' \ + --prefix CFLAGS "''\t" '${builtins.concatStringsSep " " (includeFlags ++ extraCFlags)}' \ + --prefix LDFLAGS "''\t" '${builtins.concatStringsSep " " (map (flag: "-Wl,${flag}") linkerFlags)}' +'') diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 046b8bc297d..a8e8cf68fe3 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -232,6 +232,19 @@ in stdenv.mkDerivation rec { description = "A safe, concurrent, practical language"; maintainers = with maintainers; [ cstrahan globin havvy ] ++ teams.rust.members; license = [ licenses.mit licenses.asl20 ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = [ + # Platforms with host tools from + # https://doc.rust-lang.org/nightly/rustc/platform-support.html + "x86_64-darwin" "i686-darwin" "aarch64-darwin" + "i686-freebsd13" "x86_64-freebsd13" + "x86_64-solaris" + "aarch64-linux" "armv7l-linux" "i686-linux" "mipsel-linux" + "mips64el-linux" "powerpc64-linux" "powerpc64le-linux" + "riscv64-linux" "s390x-linux" "x86_64-linux" + "aarch64-netbsd" "armv7l-netbsd" "i686-netbsd" "powerpc-netbsd" + "x86_64-netbsd" + "i686-openbsd" "x86_64-openbsd" + "i686-windows" "x86_64-windows" + ]; }; } diff --git a/pkgs/development/compilers/stanc/default.nix b/pkgs/development/compilers/stanc/default.nix index b4d0c5e6823..3b35e3d214c 100644 --- a/pkgs/development/compilers/stanc/default.nix +++ b/pkgs/development/compilers/stanc/default.nix @@ -5,7 +5,7 @@ ocamlPackages.buildDunePackage rec { pname = "stanc"; - version = "2.31.0"; + version = "2.32.0"; minimalOCamlVersion = "4.12"; @@ -13,7 +13,7 @@ ocamlPackages.buildDunePackage rec { owner = "stan-dev"; repo = "stanc3"; rev = "v${version}"; - hash = "sha256-5GOyKVt3LHN1D6UysOZT8isVQLKexwEcK0rwI45dDcg="; + hash = "sha256-DZJb5Zcfki6vev1n+9zyokQTxEounCvTeYyH4BvSTZ0="; }; # Error: This expression has type [ `Use_Sys_unix ] diff --git a/pkgs/development/libraries/boost/1.82.nix b/pkgs/development/libraries/boost/1.82.nix new file mode 100644 index 00000000000..193d07ef756 --- /dev/null +++ b/pkgs/development/libraries/boost/1.82.nix @@ -0,0 +1,14 @@ +{ callPackage, fetchurl, fetchpatch, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "1.82.0"; + + src = fetchurl { + urls = [ + "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" + "https://boostorg.jfrog.io/artifactory/main/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2" + ]; + # SHA256 from http://www.boost.org/users/history/version_1_82_0.html + sha256 = "a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6"; + }; +}) diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix index b0e310973cf..b9b2c8ff7e6 100644 --- a/pkgs/development/libraries/boost/default.nix +++ b/pkgs/development/libraries/boost/default.nix @@ -32,4 +32,5 @@ in { boost179 = makeBoost ./1.79.nix; boost180 = makeBoost ./1.80.nix; boost181 = makeBoost ./1.81.nix; + boost182 = makeBoost ./1.82.nix; } diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 4268af7ee0b..2b704702613 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -158,7 +158,7 @@ stdenv.mkDerivation { platforms = platforms.unix ++ platforms.windows; badPlatforms = optional (versionOlder version "1.59") "aarch64-linux" ++ optional ((versionOlder version "1.57") || version == "1.58") "x86_64-darwin" - ++ optionals (versionOlder version "1.73") lib.platforms.riscv; + ++ optionals (versionOlder version "1.73") platforms.riscv; maintainers = with maintainers; [ hjones2199 ]; broken = diff --git a/pkgs/development/libraries/epoll-shim/default.nix b/pkgs/development/libraries/epoll-shim/default.nix index 311496fe07b..ae2c22afd63 100644 --- a/pkgs/development/libraries/epoll-shim/default.nix +++ b/pkgs/development/libraries/epoll-shim/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "epoll-shim"; - version = "unstable-2023-02-05"; + version = "0.0.20230411"; src = fetchFromGitHub { owner = "jiixyj"; repo = finalAttrs.pname; - rev = "702e845d7850e30a7b9e29f759c9c8f7bb40784b"; - hash = "sha256-QfBnF0/P2KjQggEdJCdqVJDeV/+iaN0OZIwIGyIyr68="; + rev = "v${finalAttrs.version}"; + hash = "sha256-TOfybtUEp+EtY2l/UGwVFIESDe9kELJCZHlcz22Cmi8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gtk-frdp/default.nix b/pkgs/development/libraries/gtk-frdp/default.nix index 24f768a678a..9272d042685 100644 --- a/pkgs/development/libraries/gtk-frdp/default.nix +++ b/pkgs/development/libraries/gtk-frdp/default.nix @@ -14,14 +14,14 @@ stdenv.mkDerivation rec { pname = "gtk-frdp"; - version = "unstable-2023-03-03"; + version = "unstable-2023-04-14"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; repo = pname; - rev = "3f991a22c025cad3016a7aa55988e51884964050"; - sha256 = "jzum4/iU1oSr5t/IrSOLFyZcj38VIL7ooIbfoJZhk+g="; + rev = "9af99d95ed532128c1856e7a1bfd0b59dd61a35f"; + sha256 = "cz4JJ/NKBYBv5bw18BBfwtWtxPWGBmrwSHgTZ1hS3Qk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix index a88024ec2f1..fe3549eee57 100644 --- a/pkgs/development/libraries/gtk/4.x.nix +++ b/pkgs/development/libraries/gtk/4.x.nix @@ -63,7 +63,7 @@ in stdenv.mkDerivation rec { pname = "gtk4"; - version = "4.10.1"; + version = "4.10.3"; outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ]; outputBin = "dev"; @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz"; - sha256 = "6PysBLx3FbnaZnyRGl7o8mLiANHWpQrfI2RcqM/NAxE="; + sha256 = "RUVEGteeN3624KcFAm3HpGiG5GobA020CRKQnagBzqk="; }; patches = [ diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix index daf02487d08..772096c8f23 100644 --- a/pkgs/development/libraries/libadwaita/default.nix +++ b/pkgs/development/libraries/libadwaita/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { pname = "libadwaita"; - version = "1.3.1"; + version = "1.3.2"; outputs = [ "out" "dev" "devdoc" ]; outputBin = "devdoc"; # demo app @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { owner = "GNOME"; repo = "libadwaita"; rev = version; - hash = "sha256-RIJtlSBZX4+rMOGQaFn31CCEKkWtPjtzO4fcX+iApvs="; + hash = "sha256-9Qha8xN3lC/t5dQNYPbgMX6HAKgEk80pyycrd5MGYLo="; }; depsBuildBuild = [ @@ -70,10 +70,10 @@ stdenv.mkDerivation rec { xvfb-run ]; - # Tests had to be disabled on Darwin because they fail with the same error as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264947 on Hydra: + # Tests had to be disabled on Darwin because test-button-content fails # - # In file included from ../tests/test-style-manager.c:10: - # ../src/adw-settings-private.h:16:10: fatal error: 'adw-enums-private.h' file not found + # not ok /Adwaita/ButtonContent/style_class_button - Gdk-FATAL-CRITICAL: + # gdk_macos_monitor_get_workarea: assertion 'GDK_IS_MACOS_MONITOR (self)' failed doCheck = !stdenv.isDarwin; checkPhase = '' diff --git a/pkgs/development/node-packages/composition.nix b/pkgs/development/node-packages/composition.nix index 6bbc431049e..d9c0daef783 100644 --- a/pkgs/development/node-packages/composition.nix +++ b/pkgs/development/node-packages/composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-18_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/development/node-packages/generate.sh b/pkgs/development/node-packages/generate.sh index bee53d7a1e6..1a65ebd6cd2 100755 --- a/pkgs/development/node-packages/generate.sh +++ b/pkgs/development/node-packages/generate.sh @@ -13,7 +13,7 @@ rm -f ./node-env.nix -i node-packages.json \ -o node-packages.nix \ -c composition.nix \ - --pkg-name nodejs-18_x + --pkg-name nodejs_18 # using --no-out-link in nix-build argument would cause the # gc to run before the script finishes diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index a1957bf935a..73ccd811286 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -281,7 +281,7 @@ final: prev: { }; manta = prev.manta.override ( oldAttrs: { - nativeBuildInputs = with pkgs; [ nodejs-14_x installShellFiles ]; + nativeBuildInputs = with pkgs; [ nodejs_14 installShellFiles ]; postInstall = '' # create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91 completion_cmds=$(find ./bin -type f -printf "%f\n") @@ -341,23 +341,16 @@ final: prev: { src = fetchFromGitHub { owner = "svanderburg"; repo = "node2nix"; - rev = "026360084db8a27095aafdac7125d7f1a93046c8"; - sha256 = "sha256-zO/xGG10v7HGv58RLX5SFd7QOXAL2vRxCRM8IfRZ8JA="; + rev = "315e1b85a6761152f57a41ccea5e2570981ec670"; + sha256 = "sha256-8OxTOkwBPcnjyhXhxQEDd8tiaQoHt91zUJX5Ka+IXco="; }; nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ]; postInstall = let patches = [ - # Needed to fix Node.js 16+ - PR svanderburg/node2nix#302 + # fix nodejs attr names (fetchpatch { - name = "emit-lockfile-v2-and-fix-bin-links-with-npmv7.patch"; - url = "https://github.com/svanderburg/node2nix/commit/375a055041b5ee49ca5fb3f74a58ca197c90c7d5.patch"; - hash = "sha256-uVYrXptJILojeur9s2O+J/f2vyPNCaZMn1GM/NoC5n8="; - }) - # Needed to fix packages with DOS line-endings after above patch - PR svanderburg/node2nix#314 - (fetchpatch { - name = "convert-crlf-for-script-bin-files.patch"; - url = "https://github.com/svanderburg/node2nix/commit/91aa511fe7107938b0409a02ab8c457a6de2d8ca.patch"; - hash = "sha256-ISiKYkur/o8enKDzJ8mQndkkSC4yrTNlheqyH+LiXlU="; + url = "https://github.com/svanderburg/node2nix/commit/3b63e735458947ef39aca247923f8775633363e5.patch"; + hash = "sha256-pe8Xm4mjPh9oKXugoMY6pRl8YYgtdw0sRXN+TienalU="; }) ]; in '' diff --git a/pkgs/development/python-modules/devito/default.nix b/pkgs/development/python-modules/devito/default.nix index 51f3895f66f..3b4063518cf 100644 --- a/pkgs/development/python-modules/devito/default.nix +++ b/pkgs/development/python-modules/devito/default.nix @@ -34,7 +34,7 @@ buildPythonPackage rec { owner = "devitocodes"; repo = "devito"; rev = "refs/tags/v${version}"; - hash = "sha256-JLfTWfQ9HYb7jsPAuAfNXuIWv7lOomJGE9hBss+AI7o="; + hash = "sha256-LzqY//205XEOd3/f8k1g4OYndRHMTVplBogGJf5Forw="; }; postPatch = '' diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix index a56eab06bba..9f4b199c567 100644 --- a/pkgs/development/python-modules/forecast-solar/default.nix +++ b/pkgs/development/python-modules/forecast-solar/default.nix @@ -5,17 +5,20 @@ , aiodns , aiohttp , backports-zoneinfo +, pytestCheckHook }: buildPythonPackage rec { pname = "forecast-solar"; - version = "2.3.0"; + version = "3.0.0"; + + format = "setuptools"; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "forecast_solar"; rev = "refs/tags/${version}"; - hash = "sha256-1xRbTOeBHzLmf0FJwsrg/4+Z2Fs7uwbQwS2Tm41mNRk="; + hash = "sha256-Go0DF2qyVyGVYEeoEEuxsSR9Ge8Pg4S77zM1HL83ELc="; }; PACKAGE_VERSION = version; @@ -27,11 +30,12 @@ buildPythonPackage rec { backports-zoneinfo ]; - # no unit tests implemented - doCheck = false; - pythonImportsCheck = [ "forecast_solar" ]; + nativeCheckInputs = [ + pytestCheckHook + ]; + meta = with lib; { description = "Asynchronous Python client for getting forecast solar information"; homepage = "https://github.com/home-assistant-libs/forecast_solar"; diff --git a/pkgs/development/python-modules/google-cloud-firestore/default.nix b/pkgs/development/python-modules/google-cloud-firestore/default.nix index 026328da618..a3134f96f5c 100644 --- a/pkgs/development/python-modules/google-cloud-firestore/default.nix +++ b/pkgs/development/python-modules/google-cloud-firestore/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "google-cloud-firestore"; - version = "2.10.1"; + version = "2.11.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-JrM4asHN40vTuigojvT2lqI2iDuC8je9Yr8i10pU1aU="; + hash = "sha256-mA3FX3Cg7ldApxNGka21jNW9ljGKu+rF3MhfqmekDa4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index 58e94b6a926..41945236aa5 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -397,8 +397,8 @@ let then "sha256-rcTPOMoBfmKFuuCanMlhmtFtOQzOICfEXTZey/rQEdM=" else "sha256-JGLH64F81xwSUl9RCWJhBLNRBQandImsVafEF5s+ap0="; aarch64-linux = "sha256-g6JUZQQalCTSjvAarkI7+gq13cPhFg/O9LPQDGNvrII="; - x86_64-darwin = "sha256-phmJ71l0DvJUVx1sHGS3nkDqJ18yOO7I3N1ODnfrrYc="; - aarch64-darwin = "sha256-qZvqXi6pvIrZpZdR4BcbOh2C/A4ZHJgXgFINhVJmmcs="; + x86_64-darwin = "sha256-7O0zPs+damAjWXZn5C5SSWBp35C8QX3y4kCM7tYkM7s="; + aarch64-darwin = "sha256-US7uunEBDo2NKI9UHvgThbQ7rA05HjQlUthw0gIINaI="; }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 615eb49ae6c..8917ff369d0 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -22,14 +22,14 @@ with py.pkgs; buildPythonApplication rec { pname = "checkov"; - version = "2.3.192"; + version = "2.3.199"; format = "setuptools"; src = fetchFromGitHub { owner = "bridgecrewio"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-vTn6Fum47wpgpICyiL+s6azhAgqzLj2w7wntypsatiU="; + hash = "sha256-JwEI+i6xvO8wsCCAliljXxddL3T6MWzHvzMmewNlbsk="; }; patches = [ @@ -116,7 +116,7 @@ buildPythonApplication rec { # Tests are comparing console output "cli" "console" - # Starting to fail after 2.3.192 + # Starting to fail after 2.3.199 "test_non_multiline_pair" ]; diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix index cc15d9a67cc..6b485b80ea1 100644 --- a/pkgs/development/tools/boost-build/default.nix +++ b/pkgs/development/tools/boost-build/default.nix @@ -39,6 +39,8 @@ stdenv.mkDerivation { postPatch = '' substituteInPlace src/build-system.jam \ --replace "default-toolset = darwin" "default-toolset = clang-darwin" + '' + lib.optionalString (useBoost ? version && lib.versionAtLeast useBoost.version "1.82") '' + patchShebangs --build src/engine/build.sh ''; nativeBuildInputs = [ diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix index 36931247d12..6774499d8cc 100644 --- a/pkgs/development/tools/continuous-integration/github-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -9,7 +9,7 @@ , glibcLocales , lib , nixosTests -, nodejs-16_x +, nodejs_16 , stdenv , which }: @@ -156,7 +156,7 @@ buildDotnetModule rec { preCheck = '' mkdir -p _layout/externals - ln -s ${nodejs-16_x} _layout/externals/node16 + ln -s ${nodejs_16} _layout/externals/node16 ''; postInstall = '' @@ -193,7 +193,7 @@ buildDotnetModule rec { # externals/node16. As opposed to the official releases, we don't # link the Alpine Node flavors. mkdir -p $out/lib/externals - ln -s ${nodejs-16_x} $out/lib/externals/node16 + ln -s ${nodejs_16} $out/lib/externals/node16 # Install Nodejs scripts called from workflows install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js diff --git a/pkgs/development/tools/electron-fiddle/default.nix b/pkgs/development/tools/electron-fiddle/default.nix index f0ce8ce7686..102c3cbaf31 100644 --- a/pkgs/development/tools/electron-fiddle/default.nix +++ b/pkgs/development/tools/electron-fiddle/default.nix @@ -6,7 +6,7 @@ , git , lib , makeDesktopItem -, nodejs-16_x +, nodejs_16 , stdenvNoCC , util-linux , zip @@ -16,7 +16,7 @@ let pname = "electron-fiddle"; version = "0.32.1"; electron = electron_22; - nodejs = nodejs-16_x; + nodejs = nodejs_16; src = fetchFromGitHub { owner = "electron"; diff --git a/pkgs/development/tools/language-servers/docker-compose-language-service/default.nix b/pkgs/development/tools/language-servers/docker-compose-language-service/default.nix index 98375eef01c..53581e0c1d3 100644 --- a/pkgs/development/tools/language-servers/docker-compose-language-service/default.nix +++ b/pkgs/development/tools/language-servers/docker-compose-language-service/default.nix @@ -1,10 +1,10 @@ { lib , buildNpmPackage -, nodejs-16_x +, nodejs_16 , fetchFromGitHub }: let - buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs-16_x; }; + buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_16; }; in buildNpmPackage' rec { pname = "docker-compose-language-service"; diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix index fa58d1fbbf4..69aa71a6f24 100644 --- a/pkgs/development/tools/misc/kibana/7.x.nix +++ b/pkgs/development/tools/misc/kibana/7.x.nix @@ -4,13 +4,13 @@ , stdenv , makeWrapper , fetchurl -, nodejs-16_x +, nodejs_16 , coreutils , which }: let - nodejs = nodejs-16_x; + nodejs = nodejs_16; inherit (builtins) elemAt; info = lib.splitString "-" stdenv.hostPlatform.system; arch = elemAt info 0; diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix index 7c307c503fe..0a5bcb699ea 100644 --- a/pkgs/development/tools/misc/sccache/default.nix +++ b/pkgs/development/tools/misc/sccache/default.nix @@ -1,17 +1,17 @@ { lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }: rustPlatform.buildRustPackage rec { - version = "0.4.1"; + version = "0.4.2"; pname = "sccache"; src = fetchFromGitHub { owner = "mozilla"; repo = "sccache"; rev = "v${version}"; - sha256 = "sha256-omov7/o1ToWJBTsDXTp3FNLk7PuWGL3J6pNz6n47taU="; + sha256 = "sha256-OXCR052syGpqeIHviKAqS5LEAt8epdlFFarkVdmfa0I="; }; - cargoSha256 = "sha256-UkccHrs3q4MlIaK/lo+bPC9Jy/JCBjGzo8jgjZsvEIc="; + cargoSha256 = "sha256-hYNnzVhw0yCqgRcRJCZusuY+g+MZn1DD5pfDTJlTv+w="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security; diff --git a/pkgs/development/tools/qtcreator/qt6.nix b/pkgs/development/tools/qtcreator/qt6.nix index 0afc6984abe..55a8859352e 100644 --- a/pkgs/development/tools/qtcreator/qt6.nix +++ b/pkgs/development/tools/qtcreator/qt6.nix @@ -28,11 +28,11 @@ stdenv.mkDerivation rec { pname = "qtcreator"; - version = "9.0.2"; + version = "10.0.0"; src = fetchurl { url = "https://download.qt.io/official_releases/${pname}/${lib.versions.majorMinor version}/${version}/qt-creator-opensource-src-${version}.tar.xz"; - sha256 = "sha256-7KWMxcoNOXiWlAVCYZzyA/WWLuPIggCBIics23Ifoyg="; + sha256 = "sha256-lImCneBYk6Rii3tlga8JbEivvTHJMs2KTbMKkMUhl78="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix index f2a02845b34..ee59039d370 100644 --- a/pkgs/development/tools/yq-go/default.nix +++ b/pkgs/development/tools/yq-go/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "yq-go"; - version = "4.33.2"; + version = "4.33.3"; src = fetchFromGitHub { owner = "mikefarah"; repo = "yq"; rev = "v${version}"; - hash = "sha256-z4TSc6thjWoaucx2RBDDqK+f6689cympifGzzF4N07E="; + hash = "sha256-hsADk1h9bxqgvIddU0JTIv/uSJnukoJb39i0tngnImE="; }; - vendorHash = "sha256-aaQxW8fvDaOb49rsTw92WVWgtbJJHH7e92ChuhKI4ME="; + vendorHash = "sha256-EW2coQdrFfs6xYeJb+6gab8+CVT3O8x4cSRuj1o+3ok="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/web/netlify-cli/composition.nix b/pkgs/development/web/netlify-cli/composition.nix index ca76a98f5a6..6377a4b2c12 100644 --- a/pkgs/development/web/netlify-cli/composition.nix +++ b/pkgs/development/web/netlify-cli/composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_16"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/development/web/newman/node-composition.nix b/pkgs/development/web/newman/node-composition.nix index 08f947ea46b..b795f708f18 100644 --- a/pkgs/development/web/newman/node-composition.nix +++ b/pkgs/development/web/newman/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/misc/base16-builder/node-packages.nix b/pkgs/misc/base16-builder/node-packages.nix index dacf1581ada..bde04ea963e 100644 --- a/pkgs/misc/base16-builder/node-packages.nix +++ b/pkgs/misc/base16-builder/node-packages.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let globalBuildInputs = pkgs.lib.attrValues (import ./supplement.nix { diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix index 04fb8b0fe37..13421c5cc8b 100644 --- a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix @@ -1,17 +1,15 @@ { lib , flutter2 , fetchFromGitHub -, stdenv }: -flutter2.mkFlutterApp { +flutter2.buildFlutterApplication { pname = "firmware-updater"; version = "unstable"; - vendorHash = - if stdenv.system == "aarch64-linux" - then "sha256-+ACmcIKXtGtaYBuwc7jY9hEdIS9qxQCbuxRKJQohX5A=" - else "sha256-nPblucEpNCBJYpIqx1My6SWq8CjXYuHDG/uphdcrWjQ="; + pubspecLockFile = ./pubspec.lock; + depsListFile = ./deps.json; + vendorHash = "sha256-kKfe+7obb2fihrca+mjCM2+51wNkbPLEPFLpXzK5Wvc="; src = fetchFromGitHub { owner = "canonical"; diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/deps.json b/pkgs/os-specific/linux/firmware/firmware-updater/deps.json new file mode 100644 index 00000000000..9264a9fb70e --- /dev/null +++ b/pkgs/os-specific/linux/firmware/firmware-updater/deps.json @@ -0,0 +1,763 @@ +[ + { + "name": "firmware_updater", + "version": "0.0.0", + "kind": "root", + "source": "root", + "dependencies": [ + "collection", + "dio", + "flutter", + "flutter_html", + "flutter_localizations", + "fwupd", + "path", + "provider", + "yaru", + "yaru_icons", + "yaru_widgets", + "flutter_lints", + "flutter_test" + ] + }, + { + "name": "flutter_test", + "version": "0.0.0", + "kind": "dev", + "source": "sdk", + "dependencies": [ + "flutter", + "test_api", + "path", + "fake_async", + "clock", + "stack_trace", + "vector_math", + "async", + "boolean_selector", + "characters", + "charcode", + "collection", + "matcher", + "material_color_utilities", + "meta", + "source_span", + "stream_channel", + "string_scanner", + "term_glyph", + "typed_data" + ] + }, + { + "name": "typed_data", + "version": "1.3.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection" + ] + }, + { + "name": "collection", + "version": "1.15.0", + "kind": "direct", + "source": "hosted", + "dependencies": [] + }, + { + "name": "term_glyph", + "version": "1.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "string_scanner", + "version": "1.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "charcode", + "source_span" + ] + }, + { + "name": "source_span", + "version": "1.8.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "path", + "term_glyph" + ] + }, + { + "name": "path", + "version": "1.8.0", + "kind": "direct", + "source": "hosted", + "dependencies": [] + }, + { + "name": "charcode", + "version": "1.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "stream_channel", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async" + ] + }, + { + "name": "async", + "version": "2.8.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "meta" + ] + }, + { + "name": "meta", + "version": "1.7.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "material_color_utilities", + "version": "0.1.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "matcher", + "version": "0.12.11", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "stack_trace" + ] + }, + { + "name": "stack_trace", + "version": "1.10.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "path" + ] + }, + { + "name": "characters", + "version": "1.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "boolean_selector", + "version": "2.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "source_span", + "string_scanner" + ] + }, + { + "name": "vector_math", + "version": "2.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "clock", + "version": "1.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "fake_async", + "version": "1.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "clock", + "collection" + ] + }, + { + "name": "test_api", + "version": "0.4.8", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "async", + "boolean_selector", + "collection", + "meta", + "source_span", + "stack_trace", + "stream_channel", + "string_scanner", + "term_glyph", + "matcher" + ] + }, + { + "name": "flutter", + "version": "0.0.0", + "kind": "direct", + "source": "sdk", + "dependencies": [ + "characters", + "collection", + "material_color_utilities", + "meta", + "typed_data", + "vector_math", + "sky_engine" + ] + }, + { + "name": "sky_engine", + "version": "0.0.99", + "kind": "transitive", + "source": "sdk", + "dependencies": [] + }, + { + "name": "flutter_lints", + "version": "1.0.4", + "kind": "dev", + "source": "hosted", + "dependencies": [ + "lints" + ] + }, + { + "name": "lints", + "version": "1.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "yaru_widgets", + "version": "1.0.8", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter" + ] + }, + { + "name": "yaru_icons", + "version": "0.1.3", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter" + ] + }, + { + "name": "yaru", + "version": "0.2.5", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "flutter" + ] + }, + { + "name": "provider", + "version": "6.0.5", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "collection", + "flutter", + "nested" + ] + }, + { + "name": "nested", + "version": "1.0.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter" + ] + }, + { + "name": "fwupd", + "version": "0.2.2", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "collection", + "dbus", + "meta" + ] + }, + { + "name": "dbus", + "version": "0.7.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "args", + "ffi", + "meta", + "xml" + ] + }, + { + "name": "xml", + "version": "5.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "meta", + "petitparser" + ] + }, + { + "name": "petitparser", + "version": "4.4.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "ffi", + "version": "1.2.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "args", + "version": "2.3.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "flutter_localizations", + "version": "0.0.0", + "kind": "direct", + "source": "sdk", + "dependencies": [ + "flutter", + "intl", + "characters", + "clock", + "collection", + "material_color_utilities", + "meta", + "path", + "typed_data", + "vector_math" + ] + }, + { + "name": "intl", + "version": "0.17.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "clock", + "path" + ] + }, + { + "name": "flutter_html", + "version": "2.2.1", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "html", + "csslib", + "flutter_layout_grid", + "video_player", + "chewie", + "webview_flutter", + "chewie_audio", + "flutter_svg", + "flutter_math_fork", + "collection", + "numerus", + "flutter" + ] + }, + { + "name": "numerus", + "version": "1.1.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "flutter_math_fork", + "version": "0.5.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_svg", + "provider", + "meta", + "collection", + "tuple" + ] + }, + { + "name": "tuple", + "version": "2.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "flutter_svg", + "version": "0.23.0+1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "meta", + "path_drawing", + "vector_math", + "xml" + ] + }, + { + "name": "path_drawing", + "version": "0.5.1+1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "vector_math", + "meta", + "path_parsing", + "flutter" + ] + }, + { + "name": "path_parsing", + "version": "0.2.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "vector_math", + "meta" + ] + }, + { + "name": "chewie_audio", + "version": "1.3.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "cupertino_icons", + "flutter", + "video_player" + ] + }, + { + "name": "video_player", + "version": "2.5.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "html", + "video_player_android", + "video_player_avfoundation", + "video_player_platform_interface", + "video_player_web" + ] + }, + { + "name": "video_player_web", + "version": "2.0.13", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "video_player_platform_interface" + ] + }, + { + "name": "video_player_platform_interface", + "version": "6.0.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "plugin_platform_interface" + ] + }, + { + "name": "plugin_platform_interface", + "version": "2.1.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "meta" + ] + }, + { + "name": "flutter_web_plugins", + "version": "0.0.0", + "kind": "transitive", + "source": "sdk", + "dependencies": [ + "flutter", + "js", + "characters", + "collection", + "material_color_utilities", + "meta", + "typed_data", + "vector_math" + ] + }, + { + "name": "js", + "version": "0.6.3", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "video_player_avfoundation", + "version": "2.3.8", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "video_player_platform_interface" + ] + }, + { + "name": "video_player_android", + "version": "2.3.10", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "video_player_platform_interface" + ] + }, + { + "name": "html", + "version": "0.15.1", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "csslib", + "source_span" + ] + }, + { + "name": "csslib", + "version": "0.17.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "source_span" + ] + }, + { + "name": "cupertino_icons", + "version": "1.0.5", + "kind": "transitive", + "source": "hosted", + "dependencies": [] + }, + { + "name": "webview_flutter", + "version": "2.8.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "webview_flutter_android", + "webview_flutter_platform_interface", + "webview_flutter_wkwebview" + ] + }, + { + "name": "webview_flutter_wkwebview", + "version": "2.7.5", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "path", + "webview_flutter_platform_interface" + ] + }, + { + "name": "webview_flutter_platform_interface", + "version": "1.9.5", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "meta", + "plugin_platform_interface" + ] + }, + { + "name": "webview_flutter_android", + "version": "2.8.14", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "webview_flutter_platform_interface" + ] + }, + { + "name": "chewie", + "version": "1.4.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "cupertino_icons", + "flutter", + "provider", + "video_player", + "wakelock" + ] + }, + { + "name": "wakelock", + "version": "0.6.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "meta", + "wakelock_macos", + "wakelock_platform_interface", + "wakelock_web", + "wakelock_windows" + ] + }, + { + "name": "wakelock_windows", + "version": "0.2.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "wakelock_platform_interface", + "win32" + ] + }, + { + "name": "win32", + "version": "2.5.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "ffi" + ] + }, + { + "name": "wakelock_platform_interface", + "version": "0.3.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "meta" + ] + }, + { + "name": "wakelock_web", + "version": "0.4.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "js", + "wakelock_platform_interface" + ] + }, + { + "name": "wakelock_macos", + "version": "0.4.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "flutter_web_plugins", + "wakelock_platform_interface" + ] + }, + { + "name": "flutter_layout_grid", + "version": "1.0.6", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "flutter", + "collection", + "meta", + "quiver" + ] + }, + { + "name": "quiver", + "version": "3.1.0", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "matcher" + ] + }, + { + "name": "dio", + "version": "4.0.6", + "kind": "direct", + "source": "hosted", + "dependencies": [ + "http_parser", + "path" + ] + }, + { + "name": "http_parser", + "version": "4.0.2", + "kind": "transitive", + "source": "hosted", + "dependencies": [ + "collection", + "source_span", + "string_scanner", + "typed_data" + ] + } +] diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock b/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock new file mode 100644 index 00000000000..c9e9a204447 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/firmware-updater/pubspec.lock @@ -0,0 +1,493 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.1" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.2" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + chewie: + dependency: transitive + description: + name: chewie + url: "https://pub.dartlang.org" + source: hosted + version: "1.4.0" + chewie_audio: + dependency: transitive + description: + name: chewie_audio + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + collection: + dependency: "direct main" + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.15.0" + csslib: + dependency: transitive + description: + name: csslib + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.2" + cupertino_icons: + dependency: transitive + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + dbus: + dependency: transitive + description: + name: dbus + url: "https://pub.dartlang.org" + source: hosted + version: "0.7.3" + dio: + dependency: "direct main" + description: + name: dio + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.6" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_html: + dependency: "direct main" + description: + name: flutter_html + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.1" + flutter_layout_grid: + dependency: transitive + description: + name: flutter_layout_grid + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.6" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_math_fork: + dependency: transitive + description: + name: flutter_math_fork + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.0" + flutter_svg: + dependency: transitive + description: + name: flutter_svg + url: "https://pub.dartlang.org" + source: hosted + version: "0.23.0+1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + fwupd: + dependency: "direct main" + description: + name: fwupd + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.2" + html: + dependency: transitive + description: + name: html + url: "https://pub.dartlang.org" + source: hosted + version: "0.15.1" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + intl: + dependency: transitive + description: + name: intl + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.0" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.3" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.11" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.0" + nested: + dependency: transitive + description: + name: nested + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + numerus: + dependency: transitive + description: + name: numerus + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + path: + dependency: "direct main" + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.1+1" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.1" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "4.4.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + provider: + dependency: "direct main" + description: + name: provider + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.5" + quiver: + dependency: transitive + description: + name: quiver + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.8" + tuple: + dependency: transitive + description: + name: tuple + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + video_player: + dependency: transitive + description: + name: video_player + url: "https://pub.dartlang.org" + source: hosted + version: "2.5.1" + video_player_android: + dependency: transitive + description: + name: video_player_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.10" + video_player_avfoundation: + dependency: transitive + description: + name: video_player_avfoundation + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.8" + video_player_platform_interface: + dependency: transitive + description: + name: video_player_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.1" + video_player_web: + dependency: transitive + description: + name: video_player_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.13" + wakelock: + dependency: transitive + description: + name: wakelock + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.2" + wakelock_macos: + dependency: transitive + description: + name: wakelock_macos + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.0" + wakelock_platform_interface: + dependency: transitive + description: + name: wakelock_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.0" + wakelock_web: + dependency: transitive + description: + name: wakelock_web + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.0" + wakelock_windows: + dependency: transitive + description: + name: wakelock_windows + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" + webview_flutter: + dependency: transitive + description: + name: webview_flutter + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.0" + webview_flutter_android: + dependency: transitive + description: + name: webview_flutter_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.14" + webview_flutter_platform_interface: + dependency: transitive + description: + name: webview_flutter_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.5" + webview_flutter_wkwebview: + dependency: transitive + description: + name: webview_flutter_wkwebview + url: "https://pub.dartlang.org" + source: hosted + version: "2.7.5" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "2.5.2" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "5.3.1" + yaru: + dependency: "direct main" + description: + name: yaru + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.5" + yaru_icons: + dependency: "direct main" + description: + name: yaru_icons + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.3" + yaru_widgets: + dependency: "direct main" + description: + name: yaru_widgets + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.8" +sdks: + dart: ">=2.15.0 <3.0.0" + flutter: ">=2.10.0" diff --git a/pkgs/os-specific/linux/kernel/perf/default.nix b/pkgs/os-specific/linux/kernel/perf/default.nix index bd9bd6d95db..1ae1bae26fd 100644 --- a/pkgs/os-specific/linux/kernel/perf/default.nix +++ b/pkgs/os-specific/linux/kernel/perf/default.nix @@ -64,6 +64,10 @@ stdenv.mkDerivation { # Linux scripts patchShebangs scripts + '' + lib.optionalString (lib.versionAtLeast kernel.version "6.3") '' + # perf-specific scripts + patchShebangs tools/perf/pmu-events + '' + '' cd tools/perf for x in util/build-id.c util/dso.c; do diff --git a/pkgs/servers/ariang/default.nix b/pkgs/servers/ariang/default.nix index 7217fd069ce..c604bfe9530 100644 --- a/pkgs/servers/ariang/default.nix +++ b/pkgs/servers/ariang/default.nix @@ -2,7 +2,7 @@ , stdenv , pkgs , fetchFromGitHub -, nodejs ? pkgs.nodejs-14_x +, nodejs ? pkgs.nodejs_14 }: stdenv.mkDerivation rec { diff --git a/pkgs/servers/ariang/node-composition.nix b/pkgs/servers/ariang/node-composition.nix index 80e4e292949..68f9f64e6cf 100644 --- a/pkgs/servers/ariang/node-composition.nix +++ b/pkgs/servers/ariang/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/audiobookshelf/default.nix b/pkgs/servers/audiobookshelf/default.nix index ae03bb5d3b0..893e9635f96 100644 --- a/pkgs/servers/audiobookshelf/default.nix +++ b/pkgs/servers/audiobookshelf/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs-16_x, tone, ffmpeg-full, util-linux, libwebp }: +{ lib, stdenv, pkgs, fetchFromGitHub, runCommand, buildNpmPackage, nodejs_16, tone, ffmpeg-full, util-linux, libwebp }: let - nodejs = nodejs-16_x; + nodejs = nodejs_16; pname = "audiobookshelf"; version = "2.2.18"; diff --git a/pkgs/servers/bird-lg/default.nix b/pkgs/servers/bird-lg/default.nix index f5294c2a191..3bd0df7072b 100644 --- a/pkgs/servers/bird-lg/default.nix +++ b/pkgs/servers/bird-lg/default.nix @@ -3,13 +3,13 @@ let generic = { modRoot, vendorSha256 }: buildGoModule rec { pname = "bird-lg-${modRoot}"; - version = "unstable-2022-05-08"; + version = "1.2.0"; src = fetchFromGitHub { owner = "xddxdd"; repo = "bird-lg-go"; - rev = "348295b9aa954a92df2cf6b1179846a9486dafc0"; - sha256 = "sha256-2t8ZP9Uc0sJlqWiJMq3MVoARfMKsuTXJkuOid0oWgyY="; + rev = "v${version}"; + sha256 = "sha256-Ldp/c1UU5EFnKjlUqQ+Hh6rVEOYEX7kaDL36edr9pNA="; }; doDist = false; @@ -24,6 +24,7 @@ let meta = with lib; { description = "Bird Looking Glass"; homepage = "https://github.com/xddxdd/bird-lg-go"; + changelog = "https://github.com/xddxdd/bird-lg-go/releases/tag/v${version}"; license = licenses.gpl3Plus; maintainers = with maintainers; [ tchekda ]; }; @@ -31,12 +32,17 @@ let bird-lg-frontend = generic { modRoot = "frontend"; - vendorSha256 = "sha256-WKuVGiSV5LZrJ8/672TRN6tZNQxdCktHV6nx0ZxCP4A="; + vendorSha256 = "sha256-lYOi3tfXYhsFaWgikDUoJYRm8sxFNFKiFQMlVx/8AkA="; }; bird-lg-proxy = generic { modRoot = "proxy"; - vendorSha256 = "sha256-7LZeCY4xSxREsQ+Dc2XSpu2ZI8CLE0mz0yoThP7/OO4="; + vendorSha256 = "sha256-QHLq4RuQaCMjefs7Vl7zSVgjLMDXvIZcM8d6/B5ECZc="; }; in -symlinkJoin { name = "bird-lg"; paths = [ bird-lg-frontend bird-lg-proxy ]; } +symlinkJoin { + name = "bird-lg-${bird-lg-frontend.version}"; + paths = [ bird-lg-frontend bird-lg-proxy ]; +} // { + inherit (bird-lg-frontend) version meta; +} diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix index 05808d605d2..8f0416c6ad3 100644 --- a/pkgs/servers/code-server/default.nix +++ b/pkgs/servers/code-server/default.nix @@ -1,12 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand +{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper , cacert, moreutils, jq, git, rsync, pkg-config, yarn, python3 -, esbuild, nodejs-16_x, node-gyp, libsecret, xorg, ripgrep +, esbuild, nodejs_16, node-gyp, libsecret, xorg, ripgrep , AppKit, Cocoa, CoreServices, Security, cctools, xcbuild, quilt }: let system = stdenv.hostPlatform.system; - nodejs = nodejs-16_x; + nodejs = nodejs_16; python = python3; yarn' = yarn.override { inherit nodejs; }; defaultYarnOpts = [ ]; @@ -241,7 +241,7 @@ in stdenv.mkDerivation rec { ln -s "${cloudAgent}/bin/cloud-agent" $out/libexec/code-server/lib/coder-cloud-agent # create wrapper - makeWrapper "${nodejs-16_x}/bin/node" "$out/bin/code-server" \ + makeWrapper "${nodejs_16}/bin/node" "$out/bin/code-server" \ --add-flags "$out/libexec/code-server/out/node/entry.js" ''; diff --git a/pkgs/servers/haste-server/node-composition.nix b/pkgs/servers/haste-server/node-composition.nix index 03dc6f3e5be..5fb8e7ba569 100644 --- a/pkgs/servers/haste-server/node-composition.nix +++ b/pkgs/servers/haste-server/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/servers/jellyfin/node-composition.nix b/pkgs/servers/jellyfin/node-composition.nix index 80e4e292949..68f9f64e6cf 100644 --- a/pkgs/servers/jellyfin/node-composition.nix +++ b/pkgs/servers/jellyfin/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/misc/navidrome/ui/node-composition.nix b/pkgs/servers/misc/navidrome/ui/node-composition.nix index 08f947ea46b..b795f708f18 100644 --- a/pkgs/servers/misc/navidrome/ui/node-composition.nix +++ b/pkgs/servers/misc/navidrome/ui/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/servers/mjolnir/node-composition.nix b/pkgs/servers/mjolnir/node-composition.nix index 03dc6f3e5be..5fb8e7ba569 100644 --- a/pkgs/servers/mjolnir/node-composition.nix +++ b/pkgs/servers/mjolnir/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/servers/monitoring/karma/default.nix b/pkgs/servers/monitoring/karma/default.nix index 8980d913aec..416e388d8f4 100644 --- a/pkgs/servers/monitoring/karma/default.nix +++ b/pkgs/servers/monitoring/karma/default.nix @@ -5,7 +5,7 @@ , callPackage , fetchFromGitHub , nixosTests -, nodejs-18_x +, nodejs_18 }: let @@ -13,7 +13,7 @@ let inherit pkgs; inherit (stdenv.hostPlatform) system; # pin nodejs version - nodejs = nodejs-18_x; + nodejs = nodejs_18; }).nodeDependencies; in @@ -31,7 +31,7 @@ buildGoModule rec { vendorHash = "sha256-ZsXPA4KyKbc/bwkidyHNDg62mE8KlE+yIssOBZLmHVg="; nativeBuildInputs = [ - nodejs-18_x + nodejs_18 ]; postPatch = '' diff --git a/pkgs/servers/monitoring/karma/generate-dependencies.sh b/pkgs/servers/monitoring/karma/generate-dependencies.sh index e37e125b7b1..15354c7182b 100755 --- a/pkgs/servers/monitoring/karma/generate-dependencies.sh +++ b/pkgs/servers/monitoring/karma/generate-dependencies.sh @@ -1,5 +1,5 @@ #! /usr/bin/env nix-shell -#! nix-shell -i bash -p nodePackages.node2nix nodejs-18_x gnused wget +#! nix-shell -i bash -p nodePackages.node2nix nodejs_18 gnused wget # Usage: ./generate-dependencies.sh <version> # Use the same version format as in ./default.nix (without the 'v') diff --git a/pkgs/servers/monitoring/karma/node-composition.nix b/pkgs/servers/monitoring/karma/node-composition.nix index 6bbc431049e..d9c0daef783 100644 --- a/pkgs/servers/monitoring/karma/node-composition.nix +++ b/pkgs/servers/monitoring/karma/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-18_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_18"}: let nodeEnv = import ./node-env.nix { diff --git a/pkgs/servers/mx-puppet-discord/default.nix b/pkgs/servers/mx-puppet-discord/default.nix index f53bcd9cc7a..be32bda9935 100644 --- a/pkgs/servers/mx-puppet-discord/default.nix +++ b/pkgs/servers/mx-puppet-discord/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitLab, pkgs, lib, nodejs-14_x, pkg-config +{ stdenv, fetchFromGitLab, pkgs, lib, nodejs_14, pkg-config , libjpeg, pixman, cairo, pango, which, postgresql }: let - nodejs = nodejs-14_x; + nodejs = nodejs_14; version = "0.1.1"; diff --git a/pkgs/servers/mx-puppet-discord/node-composition.nix b/pkgs/servers/mx-puppet-discord/node-composition.nix index 2abd4105c9c..2042629fe9f 100644 --- a/pkgs/servers/mx-puppet-discord/node-composition.nix +++ b/pkgs/servers/mx-puppet-discord/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import ../../.. { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix index d8eccd3e107..b5b13302633 100644 --- a/pkgs/servers/openvscode-server/default.nix +++ b/pkgs/servers/openvscode-server/default.nix @@ -1,12 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand +{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper , cacert, moreutils, jq, git, pkg-config, yarn, python3 -, esbuild, nodejs-16_x, libsecret, xorg, ripgrep +, esbuild, nodejs_16, libsecret, xorg, ripgrep , AppKit, Cocoa, Security, cctools }: let system = stdenv.hostPlatform.system; - nodejs = nodejs-16_x; + nodejs = nodejs_16; yarn' = yarn.override { inherit nodejs; }; defaultYarnOpts = [ "frozen-lockfile" "non-interactive" "no-progress"]; diff --git a/pkgs/servers/polaris/node-composition.nix b/pkgs/servers/polaris/node-composition.nix index edf4bf579d4..cc96551dc98 100644 --- a/pkgs/servers/polaris/node-composition.nix +++ b/pkgs/servers/polaris/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_12"}: let nodeEnv = import ../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/psitransfer/default.nix b/pkgs/servers/psitransfer/default.nix index 791f656eeba..2ca5c95a9af 100644 --- a/pkgs/servers/psitransfer/default.nix +++ b/pkgs/servers/psitransfer/default.nix @@ -7,13 +7,13 @@ { stdenv , pkgs , lib -, nodejs-14_x +, nodejs_14 , fetchzip }: let - # nodejs-16_x fails with ENOTCACHED - nodejs = nodejs-14_x; + # nodejs_16 fails with ENOTCACHED + nodejs = nodejs_14; nodePackages = import ./node-composition.nix { inherit pkgs nodejs; diff --git a/pkgs/servers/psitransfer/node-composition.nix b/pkgs/servers/psitransfer/node-composition.nix index 1de33eb05b8..7785ceeba4e 100644 --- a/pkgs/servers/psitransfer/node-composition.nix +++ b/pkgs/servers/psitransfer/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index b5b02fc70c8..504a96d3614 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -37,7 +37,7 @@ , yarn , fixup_yarn_lock , nodePackages -, nodejs-16_x +, nodejs_16 , plugins ? [] }@args: @@ -159,9 +159,9 @@ let cd ../.. mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ - ln -s "${nodejs-16_x.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a + ln -s "${nodejs_16.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a - ln -s ${nodejs-16_x.libv8}/include vendor/v8/include + ln -s ${nodejs_16.libv8}/include vendor/v8/include mkdir -p ext/libv8-node echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml @@ -208,7 +208,7 @@ let nodePackages.uglify-js nodePackages.terser yarn - nodejs-16_x + nodejs_16 ]; outputs = [ "out" "javascripts" ]; diff --git a/pkgs/servers/web-apps/ethercalc/default.nix b/pkgs/servers/web-apps/ethercalc/default.nix index 270b2e4cff7..229e5341cd8 100644 --- a/pkgs/servers/web-apps/ethercalc/default.nix +++ b/pkgs/servers/web-apps/ethercalc/default.nix @@ -1,11 +1,11 @@ { stdenv , pkgs , lib -, nodejs-14_x +, nodejs_14 }: let - nodejs = nodejs-14_x; + nodejs = nodejs_14; nodePackages = import ./node-packages.nix { inherit pkgs nodejs; diff --git a/pkgs/servers/web-apps/ethercalc/node-packages.nix b/pkgs/servers/web-apps/ethercalc/node-packages.nix index 862d2234009..bdc44fec6fd 100644 --- a/pkgs/servers/web-apps/ethercalc/node-packages.nix +++ b/pkgs/servers/web-apps/ethercalc/node-packages.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../development/node-packages/node-env.nix { diff --git a/pkgs/servers/web-apps/whitebophir/default.nix b/pkgs/servers/web-apps/whitebophir/default.nix index 577a0518635..f9b5aff8447 100644 --- a/pkgs/servers/web-apps/whitebophir/default.nix +++ b/pkgs/servers/web-apps/whitebophir/default.nix @@ -1,12 +1,12 @@ { stdenv , pkgs , lib -, nodejs-16_x +, nodejs_16 , runtimeShell }: let - nodejs = nodejs-16_x; + nodejs = nodejs_16; nodePackages = import ./node-packages.nix { inherit pkgs nodejs; diff --git a/pkgs/servers/web-apps/whitebophir/node-packages.nix b/pkgs/servers/web-apps/whitebophir/node-packages.nix index 87e4c4462b1..ebd06cd4a28 100644 --- a/pkgs/servers/web-apps/whitebophir/node-packages.nix +++ b/pkgs/servers/web-apps/whitebophir/node-packages.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../development/node-packages/node-env.nix { diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix index e3a5880fcd0..234f7d90567 100644 --- a/pkgs/tools/admin/meshcentral/default.nix +++ b/pkgs/tools/admin/meshcentral/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs-16_x, jq, dos2unix }: +{ lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs_16, jq, dos2unix }: yarn2nix-moretea.mkYarnPackage { version = "1.1.5"; @@ -24,7 +24,7 @@ yarn2nix-moretea.mkYarnPackage { preFixup = '' mkdir -p $out/bin chmod a+x $out/libexec/meshcentral/deps/meshcentral/meshcentral.js - sed -i '1i#!${nodejs-16_x}/bin/node' $out/libexec/meshcentral/deps/meshcentral/meshcentral.js + sed -i '1i#!${nodejs_16}/bin/node' $out/libexec/meshcentral/deps/meshcentral/meshcentral.js ln -s $out/libexec/meshcentral/deps/meshcentral/meshcentral.js $out/bin/meshcentral ''; diff --git a/pkgs/tools/audio/botamusique/default.nix b/pkgs/tools/audio/botamusique/default.nix index 249e9629a6f..c9bf6ed07cd 100644 --- a/pkgs/tools/audio/botamusique/default.nix +++ b/pkgs/tools/audio/botamusique/default.nix @@ -15,7 +15,7 @@ , nodePackages }: let - nodejs = pkgs.nodejs-14_x; + nodejs = pkgs.nodejs_14; nodeEnv = import ../../../development/node-packages/node-env.nix { inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; inherit pkgs nodejs; diff --git a/pkgs/tools/filesystems/gocryptfs/default.nix b/pkgs/tools/filesystems/gocryptfs/default.nix index 249444ae0d6..ab333255227 100644 --- a/pkgs/tools/filesystems/gocryptfs/default.nix +++ b/pkgs/tools/filesystems/gocryptfs/default.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "gocryptfs"; - version = "2.3"; + version = "2.3.1"; src = fetchFromGitHub { owner = "rfjakob"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IJUmH9w6ItDAZNbiO1Kkq3NO2c4Qpcd0ELiPlIPpbNI="; + sha256 = "sha256-mfbdxKZdYDbnNWQTrDV+4E6WYA8ybE5oiAH1WWOZHdQ="; }; - vendorSha256 = "sha256-7PpMnkoTMW4rb2Gy6s3CN7K3wG+QHmyvN3+7TYru2hE="; + vendorHash = "sha256-eibUACIOfIsCgPYJ57Hq29S80XT6w4VbpjvaX7XasdE="; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix b/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix index c85f89b5603..a621dc22dee 100644 --- a/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix +++ b/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../../development/node-packages/node-env.nix { diff --git a/pkgs/tools/misc/flashrom-stable/default.nix b/pkgs/tools/misc/flashrom-stable/default.nix new file mode 100644 index 00000000000..168b355475b --- /dev/null +++ b/pkgs/tools/misc/flashrom-stable/default.nix @@ -0,0 +1,46 @@ +{ fetchgit +, installShellFiles +, lib +, libftdi1 +, libgpiod +, libjaylink +, libusb1 +, pciutils +, pkg-config +, stdenv +}: + +stdenv.mkDerivation rec { + pname = "flashrom-stable"; + version = "1.1"; + + src = fetchgit { + url = "https://review.coreboot.org/flashrom-stable"; + rev = "272aae888ce5abf5e999d750ee4577407db32246"; + hash = "sha256-DR4PAING69+TMsyycGxt1cu0ba1tTlG36+H/pJ0oP4E="; + }; + + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; + + buildInputs = [ + libftdi1 + libgpiod + libjaylink + libusb1 + pciutils + ]; + + makeFlags = [ "PREFIX=$(out)" "libinstall" ]; + + meta = with lib; { + homepage = "https://www.flashrom.org"; + description = "Utility for reading, writing, erasing and verifying flash ROM chips."; + license = with licenses; [ gpl2 gpl2Plus ]; + maintainers = with maintainers; [ felixsinger ]; + platforms = platforms.all; + broken = stdenv.isDarwin; # requires DirectHW + }; +} diff --git a/pkgs/tools/misc/ntfy-sh/node-composition.nix b/pkgs/tools/misc/ntfy-sh/node-composition.nix index a038d882e7f..f8182c1e6e5 100644 --- a/pkgs/tools/misc/ntfy-sh/node-composition.nix +++ b/pkgs/tools/misc/ntfy-sh/node-composition.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../development/node-packages/node-env.nix { diff --git a/pkgs/tools/misc/qmake2cmake/default.nix b/pkgs/tools/misc/qmake2cmake/default.nix index 7ed349af31c..ea70325cee8 100644 --- a/pkgs/tools/misc/qmake2cmake/default.nix +++ b/pkgs/tools/misc/qmake2cmake/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , fetchgit , packaging +, platformdirs , portalocker , pyparsing , sympy @@ -10,12 +11,12 @@ buildPythonPackage rec { pname = "qmake2cmake"; - version = "1.0.3"; + version = "1.0.5"; src = fetchgit { url = "https://codereview.qt-project.org/qt/qmake2cmake"; rev = "v${version}"; - hash = "sha256-HzbygFmnKq3E2eEdWCFa4z9Qszfck7dJm2Z5s+il4I0="; + hash = "sha256-6a1CIzHj9kmNgWN6QPNNUbiugkyfSrrIb7Fbz0ocr6o="; }; patches = [ @@ -24,6 +25,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ packaging + platformdirs portalocker pyparsing sympy @@ -33,6 +35,10 @@ buildPythonPackage rec { pytestCheckHook ]; + preCheck = '' + export HOME=$(mktemp -d) + ''; + meta = with lib; { description = "Tool to convert qmake .pro files to CMakeLists.txt"; homepage = "https://wiki.qt.io/Qmake2cmake"; diff --git a/pkgs/tools/misc/qmake2cmake/fix-locations.patch b/pkgs/tools/misc/qmake2cmake/fix-locations.patch index 44741c0e708..33b22382e21 100644 --- a/pkgs/tools/misc/qmake2cmake/fix-locations.patch +++ b/pkgs/tools/misc/qmake2cmake/fix-locations.patch @@ -1,17 +1,3 @@ -diff --git a/src/qmake2cmake/condition_simplifier_cache.py b/src/qmake2cmake/condition_simplifier_cache.py -index 86c8e83..9d1ac00 100755 ---- a/src/qmake2cmake/condition_simplifier_cache.py -+++ b/src/qmake2cmake/condition_simplifier_cache.py -@@ -29,8 +29,7 @@ def get_current_file_path() -> str: - - - def get_cache_location() -> str: -- this_file = get_current_file_path() -- dir_path = os.path.dirname(this_file) -+ dir_path = os.getcwd() - cache_path = os.path.join(dir_path, ".pro2cmake_cache", "cache.json") - return cache_path - diff --git a/src/qmake2cmake/run_pro2cmake.py b/src/qmake2cmake/run_pro2cmake.py index fd3e11a..bdbadb0 100755 --- a/src/qmake2cmake/run_pro2cmake.py diff --git a/pkgs/tools/networking/airfield/node.nix b/pkgs/tools/networking/airfield/node.nix index f9a1999f36d..d8876757051 100644 --- a/pkgs/tools/networking/airfield/node.nix +++ b/pkgs/tools/networking/airfield/node.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../development/node-packages/node-env.nix { diff --git a/pkgs/tools/networking/networkmanager/applet/default.nix b/pkgs/tools/networking/networkmanager/applet/default.nix index c2dcf73ab17..9eefd2afead 100644 --- a/pkgs/tools/networking/networkmanager/applet/default.nix +++ b/pkgs/tools/networking/networkmanager/applet/default.nix @@ -6,7 +6,6 @@ , pkg-config , networkmanager , gnome -, libnotify , libsecret , polkit , modemmanager @@ -25,11 +24,11 @@ stdenv.mkDerivation rec { pname = "network-manager-applet"; - version = "1.30.0"; + version = "1.32.0"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-lRa4Tp2fEA24mgxny/5XztsFYjENRcqvtjMuJ7vrXNM="; + sha256 = "sha256-orWv+hUFrUOQKVn9vgnlvOxXsR7TM/pgRY/7nGLvujg="; }; mesonFlags = [ diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index 8bb2335ba6f..61165f6c000 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -58,11 +58,11 @@ let in stdenv.mkDerivation rec { pname = "networkmanager"; - version = "1.42.2"; + version = "1.42.6"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - sha256 = "sha256-3P6cXJCdOMga6VzP6JWjKKKhTBHaz7f1B760Be/OBYA="; + sha256 = "sha256-jDiKw3daxrzrYF+uIb4sPiYcr+YGeZSonw36RhDtAnk="; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix index b7434491ba9..f638c4bfca8 100644 --- a/pkgs/tools/security/bitwarden/default.nix +++ b/pkgs/tools/security/bitwarden/default.nix @@ -11,7 +11,7 @@ , makeDesktopItem , makeWrapper , moreutils -, nodejs-16_x +, nodejs_16 , pkg-config , python3 , rustPlatform @@ -22,7 +22,7 @@ let description = "A secure and free password manager for all of your devices"; icon = "bitwarden"; - buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs-16_x; }; + buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_16; }; version = "2023.3.2"; src = fetchFromGitHub { diff --git a/pkgs/tools/security/cfssl/default.nix b/pkgs/tools/security/cfssl/default.nix index 8d1c0df11a8..903b52f8bd0 100644 --- a/pkgs/tools/security/cfssl/default.nix +++ b/pkgs/tools/security/cfssl/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "cfssl"; - version = "1.6.3"; + version = "1.6.4"; src = fetchFromGitHub { owner = "cloudflare"; repo = "cfssl"; rev = "v${version}"; - sha256 = "sha256-aZjb4mWoevRnPyL+b7H+VjIVklNe+u054OsmJbxPx4g="; + sha256 = "sha256-QVKgfwyHzN6n8CnvGT9gg2ncfaDo+Pe4IAQhm4gNiz4="; }; subPackages = [ @@ -22,7 +22,7 @@ buildGoModule rec { "cmd/mkbundle" ]; - vendorSha256 = null; + vendorHash = null; doCheck = false; diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index 8bd0c529f39..11983f28d68 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2023-04-24"; + version = "2023-04-25"; src = fetchFromGitLab { owner = "exploit-database"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-RJYyFHTt7Cm6N+ZTD7D6GW/gKhwPhOMriV2+/lFWN10="; + hash = "sha256-TadZ7lDknEKmp8GQIIVCpGq7YkU0MPjXTFSc+D7cZJo="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/security/onlykey/onlykey.nix b/pkgs/tools/security/onlykey/onlykey.nix index a038d882e7f..f8182c1e6e5 100644 --- a/pkgs/tools/security/onlykey/onlykey.nix +++ b/pkgs/tools/security/onlykey/onlykey.nix @@ -2,7 +2,7 @@ {pkgs ? import <nixpkgs> { inherit system; - }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}: let nodeEnv = import ../../../development/node-packages/node-env.nix { diff --git a/pkgs/tools/security/vaultwarden/webvault.nix b/pkgs/tools/security/vaultwarden/webvault.nix index 43de28a914a..7cc2a7e429d 100644 --- a/pkgs/tools/security/vaultwarden/webvault.nix +++ b/pkgs/tools/security/vaultwarden/webvault.nix @@ -3,12 +3,12 @@ , fetchFromGitHub , git , nixosTests -, nodejs-16_x +, nodejs_16 , python3 }: let - buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs-16_x; }; + buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_16; }; version = "2023.3.0b"; diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index b3b3c218634..0fdfae13302 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { version = "2.0.2"; src = fetchFromGitHub { - owner = "lunaryorn"; + owner = "swsnr"; repo = "mdcat"; rev = "mdcat-${version}"; sha256 = "sha256-JevndaSGeIzLV/h4ljUwx6vL60aKWYzmKWOgQDPMAaA="; @@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "cat for markdown"; - homepage = "https://github.com/lunaryorn/mdcat"; + homepage = "https://github.com/swsnr/mdcat"; license = with licenses; [ mpl20 ]; maintainers = with maintainers; [ SuperSandro2000 ]; }; diff --git a/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch b/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch index 81ff2ef73ce..f79e3dda849 100644 --- a/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch +++ b/pkgs/tools/virtualization/cloud-init/0001-add-nixos-support.patch @@ -1,11 +1,11 @@ diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py -index 4a468cf8..c60c899b 100644 +index b82852e1..c998b21e 100644 --- a/cloudinit/distros/__init__.py +++ b/cloudinit/distros/__init__.py -@@ -55,6 +55,7 @@ OSFAMILIES = { - "virtuozzo", +@@ -74,6 +74,7 @@ OSFAMILIES = { ], - "suse": ["opensuse", "sles"], + "openEuler": ["openEuler"], + "OpenCloudOS": ["OpenCloudOS", "TencentOS"], + "nixos": ["nixos"], } diff --git a/pkgs/tools/virtualization/cloud-init/0002-Add-Udhcpc-support.patch b/pkgs/tools/virtualization/cloud-init/0002-Add-Udhcpc-support.patch new file mode 100644 index 00000000000..ef169483769 --- /dev/null +++ b/pkgs/tools/virtualization/cloud-init/0002-Add-Udhcpc-support.patch @@ -0,0 +1,222 @@ +diff --git a/cloudinit/net/dhcp.py b/cloudinit/net/dhcp.py +index a9a1c980..2d83089b 100644 +--- a/cloudinit/net/dhcp.py ++++ b/cloudinit/net/dhcp.py +@@ -14,12 +14,48 @@ from io import StringIO + + import configobj + +-from cloudinit import subp, util ++from cloudinit import subp, util, temp_utils + from cloudinit.net import find_fallback_nic, get_devicelist + + LOG = logging.getLogger(__name__) + + NETWORKD_LEASES_DIR = "/run/systemd/netif/leases" ++UDHCPC_SCRIPT = """#!/bin/sh ++log() { ++ echo "udhcpc[$PPID]" "$interface: $2" ++} ++ ++[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 ++ ++case $1 in ++ bound|renew) ++ cat <<JSON > "$LEASE_FILE" ++{ ++ "interface": "$interface", ++ "fixed-address": "$ip", ++ "subnet-mask": "$subnet", ++ "routers": "${router%% *}", ++ "static_routes" : "${staticroutes}" ++} ++JSON ++ ;; ++ ++ deconfig) ++ log err "Not supported" ++ exit 1 ++ ;; ++ ++ leasefail | nak) ++ log err "configuration failed: $1: $message" ++ exit 1 ++ ;; ++ ++ *) ++ echo "$0: Unknown udhcpc command: $1" >&2 ++ exit 1 ++ ;; ++esac ++""" + + + class NoDHCPLeaseError(Exception): +@@ -43,12 +79,14 @@ class NoDHCPLeaseMissingDhclientError(NoDHCPLeaseError): + + + def maybe_perform_dhcp_discovery(nic=None, dhcp_log_func=None, tmp_dir=None): +- """Perform dhcp discovery if nic valid and dhclient command exists. ++ """Perform dhcp discovery if nic valid and dhclient or udhcpc command ++ exists. + + If the nic is invalid or undiscoverable or dhclient command is not found, + skip dhcp_discovery and return an empty dict. + +- @param nic: Name of the network interface we want to run dhclient on. ++ @param nic: Name of the network interface we want to run the dhcp client ++ on. + @param dhcp_log_func: A callable accepting the dhclient output and error + streams. + @param tmp_dir: Tmp dir with exec permissions. +@@ -66,11 +104,16 @@ def maybe_perform_dhcp_discovery(nic=None, dhcp_log_func=None, tmp_dir=None): + "Skip dhcp_discovery: nic %s not found in get_devicelist.", nic + ) + raise NoDHCPLeaseInterfaceError() ++ udhcpc_path = subp.which("udhcpc") ++ if udhcpc_path: ++ return dhcp_udhcpc_discovery(udhcpc_path, nic, dhcp_log_func) + dhclient_path = subp.which("dhclient") +- if not dhclient_path: +- LOG.debug("Skip dhclient configuration: No dhclient command found.") +- raise NoDHCPLeaseMissingDhclientError() +- return dhcp_discovery(dhclient_path, nic, dhcp_log_func) ++ if dhclient_path: ++ return dhcp_discovery(dhclient_path, nic, dhcp_log_func) ++ LOG.debug( ++ "Skip dhclient configuration: No dhclient or udhcpc command found." ++ ) ++ raise NoDHCPLeaseMissingDhclientError() + + + def parse_dhcp_lease_file(lease_file): +@@ -107,6 +150,61 @@ def parse_dhcp_lease_file(lease_file): + return dhcp_leases + + ++def dhcp_udhcpc_discovery(udhcpc_cmd_path, interface, dhcp_log_func=None): ++ """Run udhcpc on the interface without scripts or filesystem artifacts. ++ ++ @param udhcpc_cmd_path: Full path to the udhcpc used. ++ @param interface: Name of the network interface on which to dhclient. ++ @param dhcp_log_func: A callable accepting the dhclient output and error ++ streams. ++ ++ @return: A list of dicts of representing the dhcp leases parsed from the ++ dhclient.lease file or empty list. ++ """ ++ LOG.debug("Performing a dhcp discovery on %s", interface) ++ ++ tmp_dir = temp_utils.get_tmp_ancestor(needs_exe=True) ++ lease_file = os.path.join(tmp_dir, interface + ".lease.json") ++ with contextlib.suppress(FileNotFoundError): ++ os.remove(lease_file) ++ ++ # udhcpc needs the interface up to send initial discovery packets. ++ # Generally dhclient relies on dhclient-script PREINIT action to bring the ++ # link up before attempting discovery. Since we are using -sf /bin/true, ++ # we need to do that "link up" ourselves first. ++ subp.subp(["ip", "link", "set", "dev", interface, "up"], capture=True) ++ udhcpc_script = os.path.join(tmp_dir, "udhcpc_script") ++ util.write_file(udhcpc_script, UDHCPC_SCRIPT, 0o755) ++ cmd = [ ++ udhcpc_cmd_path, ++ "-O", ++ "staticroutes", ++ "-i", ++ interface, ++ "-s", ++ udhcpc_script, ++ "-n", # Exit if lease is not obtained ++ "-q", # Exit after obtaining lease ++ "-f", # Run in foreground ++ "-v", ++ ] ++ ++ out, err = subp.subp( ++ cmd, update_env={"LEASE_FILE": lease_file}, capture=True ++ ) ++ ++ if dhcp_log_func is not None: ++ dhcp_log_func(out, err) ++ lease_json = util.load_json(util.load_file(lease_file)) ++ static_routes = lease_json["static_routes"].split() ++ if static_routes: ++ # format: dest1/mask gw1 ... destn/mask gwn ++ lease_json["static_routes"] = [ ++ i for i in zip(static_routes[::2], static_routes[1::2]) ++ ] ++ return [lease_json] ++ ++ + def dhcp_discovery(dhclient_cmd_path, interface, dhcp_log_func=None): + """Run dhclient on the interface without scripts or filesystem artifacts. + +diff --git a/tests/unittests/net/test_dhcp.py b/tests/unittests/net/test_dhcp.py +index 40340553..8913cf65 100644 +--- a/tests/unittests/net/test_dhcp.py ++++ b/tests/unittests/net/test_dhcp.py +@@ -12,6 +12,7 @@ from cloudinit.net.dhcp import ( + NoDHCPLeaseError, + NoDHCPLeaseInterfaceError, + NoDHCPLeaseMissingDhclientError, ++ dhcp_udhcpc_discovery, + dhcp_discovery, + maybe_perform_dhcp_discovery, + networkd_load_leases, +@@ -334,6 +335,43 @@ class TestDHCPParseStaticRoutes(CiTestCase): + ) + + ++class TestUDHCPCDiscoveryClean(CiTestCase): ++ maxDiff = None ++ ++ @mock.patch("cloudinit.net.dhcp.os.remove") ++ @mock.patch("cloudinit.net.dhcp.subp.subp") ++ @mock.patch("cloudinit.util.load_json") ++ @mock.patch("cloudinit.util.load_file") ++ @mock.patch("cloudinit.util.write_file") ++ def test_udhcpc_discovery( ++ self, m_write_file, m_load_file, m_loadjson, m_subp, m_remove ++ ): ++ """dhcp_discovery waits for the presence of pidfile and dhcp.leases.""" ++ m_subp.return_value = ("", "") ++ m_loadjson.return_value = { ++ "interface": "eth9", ++ "fixed-address": "192.168.2.74", ++ "subnet-mask": "255.255.255.0", ++ "routers": "192.168.2.1", ++ "static_routes": "10.240.0.1/32 0.0.0.0 0.0.0.0/0 10.240.0.1", ++ } ++ self.assertEqual( ++ [ ++ { ++ "fixed-address": "192.168.2.74", ++ "interface": "eth9", ++ "routers": "192.168.2.1", ++ "static_routes": [ ++ ("10.240.0.1/32", "0.0.0.0"), ++ ("0.0.0.0/0", "10.240.0.1"), ++ ], ++ "subnet-mask": "255.255.255.0", ++ } ++ ], ++ dhcp_udhcpc_discovery("/sbin/udhcpc", "eth9"), ++ ) ++ ++ + class TestDHCPDiscoveryClean(CiTestCase): + with_logs = True + +@@ -372,7 +410,7 @@ class TestDHCPDiscoveryClean(CiTestCase): + maybe_perform_dhcp_discovery() + + self.assertIn( +- "Skip dhclient configuration: No dhclient command found.", ++ "Skip dhclient configuration: No dhclient or udhcpc command found.", + self.logs.getvalue(), + ) + +-- +2.38.4 + diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix index 97c80ec560c..53e6a3a612f 100644 --- a/pkgs/tools/virtualization/cloud-init/default.nix +++ b/pkgs/tools/virtualization/cloud-init/default.nix @@ -10,21 +10,23 @@ , shadow , systemd , coreutils +, gitUpdater +, busybox }: python3.pkgs.buildPythonApplication rec { pname = "cloud-init"; - version = "22.4"; + version = "23.1.1"; namePrefix = ""; src = fetchFromGitHub { owner = "canonical"; repo = "cloud-init"; rev = "refs/tags/${version}"; - hash = "sha256-MsT5t2da79Eb9FlTLPr2893JcF0ujNnToJTCQRT1QEo="; + hash = "sha256-w1UP7JIt/+6UlASB8kv2Lil+1sMTDIrADoYOT/WtaeE="; }; - patches = [ ./0001-add-nixos-support.patch ]; + patches = [ ./0001-add-nixos-support.patch ./0002-Add-Udhcpc-support.patch ]; prePatch = '' substituteInPlace setup.py \ @@ -72,7 +74,7 @@ python3.pkgs.buildPythonApplication rec { ]; makeWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ dmidecode cloud-utils.guest ]}/bin" + "--prefix PATH : ${lib.makeBinPath [ dmidecode cloud-utils.guest busybox ]}/bin" ]; disabledTests = [ @@ -82,6 +84,7 @@ python3.pkgs.buildPythonApplication rec { "test_path_env_gets_set_from_main" # tries to read from /etc/ca-certificates.conf while inside the sandbox "test_handler_ca_certs" + "TestRemoveDefaultCaCerts" # Doesn't work in the sandbox "TestEphemeralDhcpNoNetworkSetup" "TestHasURLConnectivity" @@ -112,13 +115,16 @@ python3.pkgs.buildPythonApplication rec { "cloudinit" ]; - passthru.tests = { inherit (nixosTests) cloud-init cloud-init-hostname; }; + passthru = { + tests = { inherit (nixosTests) cloud-init cloud-init-hostname; }; + updateScript = gitUpdater { ignoredVersions = ".ubuntu.*"; }; + }; meta = with lib; { - homepage = "https://cloudinit.readthedocs.org"; + homepage = "https://github.com/canonical/cloud-init"; description = "Provides configuration and customization of cloud instance"; license = with licenses; [ asl20 gpl3Plus ]; - maintainers = with maintainers; [ illustris ]; + maintainers = with maintainers; [ illustris jfroche ]; platforms = platforms.all; }; } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 28e9c8e40df..55e7e3dd17a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1121,9 +1121,19 @@ mapAliases ({ nmap-unfree = nmap; # Added 2021-04-06 nmap-graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Added 2022-04-26 nmap_graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Modified 2022-04-26 - nodejs-10_x = throw "nodejs-10_x has been removed. Use a newer version instead."; # Added 2022-05-31 - nodejs-12_x = throw "nodejs-12_x has been removed. Use a newer version instead."; # Added 2022-07-04 + nodejs_10 = throw "nodejs-10_x has been removed. Use a newer version instead."; # Added 2022-05-31 + nodejs-10_x = nodejs_10; # Added 2022-11-06 + nodejs_12 = throw "nodejs-12_x has been removed. Use a newer version instead."; # Added 2022-07-04 + nodejs-12_x = nodejs_12; # Added 2022-11-06 + nodejs-14_x = nodejs_14; # Added 2022-11-06 + nodejs-slim-14_x = nodejs-slim_14; # Added 2022-11-06 + nodejs-16_x = nodejs_16; # Added 2022-11-06 nodejs-16_x-openssl_1_1 = throw "nodejs-16_x-openssl_1_1 has been removed."; # Added 2023-02-04 + nodejs-slim-16_x = nodejs-slim_16; # Added 2022-11-06 + nodejs-18_x = nodejs_18; # Added 2022-11-06 + nodejs-slim-18_x = nodejs-slim_18; # Added 2022-11-06 + nodejs-19_x = nodejs_19; # Added 2022-11-06 + nodejs-slim-19_x = nodejs-slim_19; # Added 2022-11-06 nologin = throw "'nologin' has been renamed to/replaced by 'shadow'"; # Converted to throw 2022-02-22 nomad_1_1 = throw "nomad_1_1 has been removed because it's outdated. Use a a newer version instead"; # Added 2022-05-22 nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 897168c28c9..b525a38cf3e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3590,7 +3590,7 @@ with pkgs; play-with-mpv = callPackage ../tools/video/play-with-mpv { }; - plausible = callPackage ../servers/web-apps/plausible { nodejs = nodejs-16_x; }; + plausible = callPackage ../servers/web-apps/plausible { nodejs = nodejs_16; }; pam-reattach = callPackage ../os-specific/darwin/pam-reattach { }; @@ -6168,9 +6168,9 @@ with pkgs; hedgedoc = callPackage ../servers/web-apps/hedgedoc { inherit (callPackage ../development/tools/yarn2nix-moretea/yarn2nix { - nodejs = nodejs-16_x; + nodejs = nodejs_16; }) mkYarnPackage; - nodejs = nodejs-16_x; + nodejs = nodejs_16; }; colord = callPackage ../tools/misc/colord { }; @@ -7456,6 +7456,8 @@ with pkgs; flashrom = callPackage ../tools/misc/flashrom { }; + flashrom-stable = callPackage ../tools/misc/flashrom-stable { }; + flent = python3Packages.callPackage ../applications/networking/flent { }; flexoptix-app = callPackage ../tools/misc/flexoptix-app { }; @@ -9399,27 +9401,27 @@ with pkgs; nodenv = callPackage ../development/tools/nodenv { }; - nodejs = hiPrio nodejs-18_x; + nodejs = hiPrio nodejs_18; - nodejs-slim = nodejs-slim-18_x; + nodejs-slim = nodejs-slim_18; - nodejs-14_x = callPackage ../development/web/nodejs/v14.nix { + nodejs_14 = callPackage ../development/web/nodejs/v14.nix { openssl = openssl_1_1; }; - nodejs-slim-14_x = callPackage ../development/web/nodejs/v14.nix { + nodejs-slim_14 = callPackage ../development/web/nodejs/v14.nix { openssl = openssl_1_1; enableNpm = false; }; - nodejs-16_x = callPackage ../development/web/nodejs/v16.nix { }; - nodejs-slim-16_x = callPackage ../development/web/nodejs/v16.nix { + nodejs_16 = callPackage ../development/web/nodejs/v16.nix { }; + nodejs-slim_16 = callPackage ../development/web/nodejs/v16.nix { enableNpm = false; }; - nodejs-18_x = callPackage ../development/web/nodejs/v18.nix { }; - nodejs-slim-18_x = callPackage ../development/web/nodejs/v18.nix { + nodejs_18 = callPackage ../development/web/nodejs/v18.nix { }; + nodejs-slim_18 = callPackage ../development/web/nodejs/v18.nix { enableNpm = false; }; - nodejs-19_x = callPackage ../development/web/nodejs/v19.nix { }; - nodejs-slim-19_x = callPackage ../development/web/nodejs/v19.nix { + nodejs_19 = callPackage ../development/web/nodejs/v19.nix { }; + nodejs-slim_19 = callPackage ../development/web/nodejs/v19.nix { enableNpm = false; }; nodejs_20 = callPackage ../development/web/nodejs/v20.nix { }; @@ -9986,10 +9988,10 @@ with pkgs; }; mirakurun = callPackage ../applications/video/mirakurun { - yarn = yarn.override { nodejs = nodejs-16_x; }; + yarn = yarn.override { nodejs = nodejs_16; }; inherit (callPackage ../development/tools/yarn2nix-moretea/yarn2nix { - nodejs = nodejs-16_x; - yarn = yarn.override { nodejs = nodejs-16_x; }; + nodejs = nodejs_16; + yarn = yarn.override { nodejs = nodejs_16; }; }) mkYarnPackage; }; @@ -14666,8 +14668,10 @@ with pkgs; flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { }); - flutter = flutterPackages.stable; - flutter2 = flutterPackages.v2; + flutter-unwrapped = flutterPackages.stable; + flutter2-unwrapped = flutterPackages.v2; + flutter = flutterPackages.wrapFlutter flutter-unwrapped; + flutter2 = flutterPackages.wrapFlutter flutter2-unwrapped; fnm = callPackage ../development/tools/fnm { inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security; @@ -19508,11 +19512,12 @@ with pkgs; boost179 boost180 boost181 + boost182 ; boost16x = boost169; boost17x = boost179; - boost18x = boost181; + boost18x = boost182; boost = boost17x; boost_process = callPackage ../development/libraries/boost-process { }; @@ -20957,7 +20962,7 @@ with pkgs; }; isso = callPackage ../servers/isso { - nodejs = nodejs-14_x; + nodejs = nodejs_14; }; itk_5_2 = callPackage ../development/libraries/itk/5.2.x.nix { @@ -25215,7 +25220,7 @@ with pkgs; }; lemmy-ui = callPackage ../servers/web-apps/lemmy/ui.nix { - nodejs = nodejs-14_x; + nodejs = nodejs_14; }; lightgbm = callPackage ../development/libraries/lightgbm { }; @@ -25413,7 +25418,7 @@ with pkgs; outline = callPackage ../servers/web-apps/outline (lib.fix (super: { yarn2nix-moretea = yarn2nix-moretea.override { inherit (super) nodejs yarn; }; yarn = yarn.override { inherit (super) nodejs; }; - nodejs = nodejs-16_x; + nodejs = nodejs_16; })); openbgpd = callPackage ../servers/openbgpd { }; @@ -29865,7 +29870,7 @@ with pkgs; epeg = callPackage ../applications/graphics/epeg { }; epgstation = callPackage ../applications/video/epgstation { - nodejs = nodejs-16_x; + nodejs = nodejs_16; }; inherit (gnome) epiphany; @@ -32990,7 +32995,7 @@ with pkgs; peek = callPackage ../applications/video/peek { }; peertube = callPackage ../servers/peertube { - nodejs = nodejs-16_x; + nodejs = nodejs_16; }; peroxide = callPackage ../applications/networking/peroxide { }; |