From d8854a4fafeaa1281d39117cda51599b6c5ecbf8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 23 Dec 2023 07:47:53 +0000 Subject: [PATCH 01/40] secp256k1: 0.4.0 -> 0.4.1 --- pkgs/tools/security/secp256k1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/secp256k1/default.nix b/pkgs/tools/security/secp256k1/default.nix index 1af6812cfc99..5494f8f26c24 100644 --- a/pkgs/tools/security/secp256k1/default.nix +++ b/pkgs/tools/security/secp256k1/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "secp256k1"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "bitcoin-core"; repo = "secp256k1"; rev = "refs/tags/v${version}"; - sha256 = "sha256-KNEOEwxeCQybFdUFfItEF5KoZ/fZ/mahFU1LSlRyHZE="; + sha256 = "sha256-atq34GnWkSkWTWxZP4PCSF3hIjGFhQ534E+WUtLRkiM="; }; nativeBuildInputs = [ autoreconfHook ]; From cce77540a7332cd1f81df390efc86af23ec4b6b4 Mon Sep 17 00:00:00 2001 From: Patrick Widmer Date: Mon, 1 Jan 2024 10:00:52 +0100 Subject: [PATCH 02/40] maintainers: add patwid --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 70ee9c0121c6..b00b6e0872c6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14188,6 +14188,12 @@ githubId = 15645854; name = "Brad Christensen"; }; + patwid = { + email = "patrick.widmer@tbwnet.ch"; + github = "patwid"; + githubId = 25278658; + name = "Patrick Widmer"; + }; paulsmith = { email = "paulsmith@pobox.com"; github = "paulsmith"; From 929ac617313014eb34344ceb97d696f8320ff4c0 Mon Sep 17 00:00:00 2001 From: Himadri Bhattacharjee Date: Fri, 5 Jan 2024 12:54:19 +0530 Subject: [PATCH 03/40] maintainers: add lavafroth --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 471d97cb1bc0..1a2af73a5fa0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10258,6 +10258,12 @@ githubId = 21087104; name = "Laurent Fainsin"; }; + lavafroth = { + email = "lavafroth@protonmail.com"; + github = "lavafroth"; + githubId = 107522312; + name = "Himadri Bhattacharjee"; + }; layus = { email = "layus.on@gmail.com"; github = "layus"; From 2208511ab5f3be7758ea445cb84ef9ac141592e6 Mon Sep 17 00:00:00 2001 From: Himadri Bhattacharjee Date: Fri, 5 Jan 2024 15:01:37 +0530 Subject: [PATCH 04/40] s3scanner: init at 3.0.4 S3scanner is a security tool written in Go to scan for misconfigured S3 buckets across S3-compatible APIs. Project repository: https://github.com/sa7mon/S3Scanner --- pkgs/by-name/s3/s3scanner/package.nix | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pkgs/by-name/s3/s3scanner/package.nix diff --git a/pkgs/by-name/s3/s3scanner/package.nix b/pkgs/by-name/s3/s3scanner/package.nix new file mode 100644 index 000000000000..ab660d3e54bb --- /dev/null +++ b/pkgs/by-name/s3/s3scanner/package.nix @@ -0,0 +1,29 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "s3scanner"; + version = "3.0.4"; + + src = fetchFromGitHub { + owner = "sa7mon"; + repo = "s3scanner"; + rev = "v${version}"; + hash = "sha256-f1r5ubH7iLKuuEhs4MPNY779FjyASW1xOXtMtXvF/CY="; + }; + + ldflags = [ "-s -w" ]; + + vendorHash = "sha256-3Y1izt6xLg7aNJNqIEXROxR3IGAIIeptHlnoYEcuLew="; + + # Requires networking + doCheck = false; + + meta = with lib; { + description = "Scan for misconfigured S3 buckets across S3-compatible APIs"; + downloadPage = "https://github.com/sa7mon/S3Scanner/releases/tag/v${version}"; + homepage = "https://github.com/sa7mon/s3scanner"; + license = licenses.mit; + maintainers = with maintainers; [ lavafroth ]; + mainProgram = "s3scanner"; + }; +} From 3eed54d14c4b369b2efd86c13fe689c749ebe0a6 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 7 Jan 2024 14:14:17 +0100 Subject: [PATCH 05/40] python311Packages.retry-decorator: rename from retry_decorator --- .../python-modules/gcs-oauth2-boto-plugin/default.nix | 4 ++-- .../{retry_decorator => retry-decorator}/default.nix | 0 pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) rename pkgs/development/python-modules/{retry_decorator => retry-decorator}/default.nix (100%) diff --git a/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix b/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix index cb298fa2bab1..85e18fb12499 100644 --- a/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix +++ b/pkgs/development/python-modules/gcs-oauth2-boto-plugin/default.nix @@ -11,7 +11,7 @@ , pytestCheckHook , pythonOlder , pythonRelaxDepsHook -, retry_decorator +, retry-decorator , rsa , six }: @@ -43,7 +43,7 @@ buildPythonPackage rec { httplib2 oauth2client pyopenssl - retry_decorator + retry-decorator rsa six ]; diff --git a/pkgs/development/python-modules/retry_decorator/default.nix b/pkgs/development/python-modules/retry-decorator/default.nix similarity index 100% rename from pkgs/development/python-modules/retry_decorator/default.nix rename to pkgs/development/python-modules/retry-decorator/default.nix diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 86f10c04908e..097fc280990e 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -408,6 +408,7 @@ mapAliases ({ rdflib-jsonld = throw "rdflib-jsonld is not compatible with rdflib 6"; # added 2021-11-05 recaptcha_client = throw "recaptcha_client has been removed since it is no longer maintained"; # added 2023-10-20 rednose = throw "rednose is no longer maintained (since February 2018)"; # added 2023-08-06 + retry_decorator = retry-decorator; # added 2024-01-07 retworkx = rustworkx; # added 2023-05-14 repeated_test = repeated-test; # added 2022-11-15 repoze_lru = repoze-lru; # added 2023-11-11 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 73ace0d799d5..efc72b0f561a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12524,7 +12524,7 @@ self: super: with self; { retry = callPackage ../development/python-modules/retry { }; - retry_decorator = callPackage ../development/python-modules/retry_decorator { }; + retry-decorator = callPackage ../development/python-modules/retry-decorator { }; retrying = callPackage ../development/python-modules/retrying { }; From 186cbf36e1af0ddb3a47b42de54b47336a111abb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 8 Jan 2024 10:01:55 +0000 Subject: [PATCH 06/40] pocket-updater-utility: 2.42.0 -> 2.43.0 --- pkgs/tools/games/pocket-updater-utility/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/games/pocket-updater-utility/default.nix b/pkgs/tools/games/pocket-updater-utility/default.nix index bfb863b909b1..9777b433505a 100644 --- a/pkgs/tools/games/pocket-updater-utility/default.nix +++ b/pkgs/tools/games/pocket-updater-utility/default.nix @@ -12,13 +12,13 @@ buildDotnetModule rec { pname = "pocket-updater-utility"; - version = "2.42.0"; + version = "2.43.0"; src = fetchFromGitHub { owner = "mattpannella"; repo = "${pname}"; rev = "${version}"; - hash = "sha256-Xw85xQstGDCJJ0J/WWd36Z1cXUAoIsL8lGcu7vZEWCA="; + hash = "sha256-mizKR3hS8s1we+jJ1bQQpFzRMjHFv4UAiINUpfnWnwI="; }; buildInputs = [ From 5a3b55ba70d8115abea1db74b4876161186b0311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 9 Jan 2024 11:20:26 +0100 Subject: [PATCH 07/40] maintainers: add theaninova --- maintainers/maintainer-list.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e3e9b3c8f162..7a6517233815 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18338,6 +18338,15 @@ fingerprint = "D2A2 F0A1 E7A8 5E6F B711 DEE5 63A4 4817 A52E AB7B"; }]; }; + theaninova = { + name = "Thea Schöbl"; + email = "dev@theaninova.de"; + github = "Theaninova"; + githubId = 19289296; + keys = [{ + fingerprint = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA"; + }]; + }; the-argus = { email = "i.mcfarlane2002@gmail.com"; github = "the-argus"; From ce51556e2b38daaf49034dc29ecf2b2682da5688 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 9 Jan 2024 20:23:16 +0000 Subject: [PATCH 08/40] gotraceui: 0.3.0 -> 0.4.0 --- pkgs/development/tools/gotraceui/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/gotraceui/default.nix b/pkgs/development/tools/gotraceui/default.nix index 7eeb11612f93..15cc09ffebd2 100644 --- a/pkgs/development/tools/gotraceui/default.nix +++ b/pkgs/development/tools/gotraceui/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "gotraceui"; - version = "0.3.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "dominikh"; repo = "gotraceui"; rev = "v${version}"; - sha256 = "sha256-hdI1TT33pPHK5018RQ+riPVqzqOF/xDkvh0WoYi6Pes="; + sha256 = "sha256-Rforuh9YlTv/mTpQm0+BaY+Ssc4DAiDCzVkIerP5Uz0="; }; - vendorHash = "sha256-nXPiwSG2Hs86/raDvTv2p77P6Xwm+t8VT0dvZpXE8Os="; + vendorHash = "sha256-dNV5u6BG+2Nzci6dX/4/4WAeM/zXE5+Ix0HqIsNnm0E="; subPackages = ["cmd/gotraceui"]; nativeBuildInputs = [ pkg-config ]; From dc1bb8caba2863b75aab0f48db2a16a9e2429a37 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Wed, 20 Dec 2023 20:52:10 +0200 Subject: [PATCH 09/40] flutter: Add version json file Needed for flutter doctor and flutter --version Co-authored-by: Sergii Maksymov --- pkgs/development/compilers/flutter/flutter.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 1e68a3b02a9e..c78589997b43 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -11,6 +11,7 @@ , darwin , git , which +, jq }: let @@ -27,7 +28,7 @@ let inherit src patches version; buildInputs = [ git ]; - nativeBuildInputs = [ makeWrapper ] + nativeBuildInputs = [ makeWrapper jq ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ]; preConfigure = '' @@ -67,6 +68,19 @@ let ln -s '${tools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json echo -n "${version}" > version + cat < bin/cache/flutter.version.json + { + "devToolsVersion": "$(cat "${dart}/bin/resources/devtools/version.json" | jq -r .version)", + "flutterVersion": "${version}", + "frameworkVersion": "${version}", + "channel": "stable", + "repositoryUrl": "https://github.com/flutter/flutter.git", + "frameworkRevision": "nixpkgs000000000000000000000000000000000", + "frameworkCommitDate": "1970-01-01 00:00:00", + "engineRevision": "${engineVersion}", + "dartSdkVersion": "${dart.version}" + } + EOF ''; installPhase = '' From 579e01329e83a2bd44762be64b3862e1f8dfd8b7 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Thu, 21 Dec 2023 19:51:13 +0200 Subject: [PATCH 10/40] flutter: Rename platform to flutterPlatform This helps avoid the ambiguity between Flutter platforms like Linux, IOS, and Android and platforms like linux-x64 --- .../flutter/artifacts/fetch-artifacts.nix | 12 ++++++------ .../flutter/artifacts/prepare-artifacts.nix | 4 ++-- pkgs/development/compilers/flutter/default.nix | 2 +- pkgs/development/compilers/flutter/wrapper.nix | 14 +++++++------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index e0c1440a604f..7ce6c34d9115 100644 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -4,13 +4,13 @@ , cacert , unzip -, platform +, flutterPlatform , flutter , hash }: let - platforms = [ + flutterPlatforms = [ "android" "ios" "web" @@ -24,10 +24,10 @@ let flutter' = flutter.override { # Use a version of Flutter with just enough capabilities to download # artifacts. - supportedTargetPlatforms = [ ]; + supportedTargetFlutterPlatforms = [ ]; }; in -runCommand "flutter-artifacts-${platform}" +runCommand "flutter-artifacts-${flutterPlatform}" { nativeBuildInputs = [ xorg.lndir flutter' unzip ]; @@ -38,7 +38,7 @@ runCommand "flutter-artifacts-${platform}" outputHashAlgo = "sha256"; passthru = { - inherit platform; + inherit flutterPlatform; }; } '' export FLUTTER_ROOT="$NIX_BUILD_TOP" @@ -46,7 +46,7 @@ runCommand "flutter-artifacts-${platform}" rm -rf "$FLUTTER_ROOT/bin/cache" mkdir "$FLUTTER_ROOT/bin/cache" - HOME="$(mktemp -d)" flutter precache -v '--${platform}' ${builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove platform platforms))} + HOME="$(mktemp -d)" flutter precache -v '--${flutterPlatform}' ${builtins.concatStringsSep " " (map (p: "'--no-${p}'") (lib.remove flutterPlatform flutterPlatforms))} rm -rf "$FLUTTER_ROOT/bin/cache/lockfile" find "$FLUTTER_ROOT" -type l -lname '${flutter'}/*' -delete diff --git a/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix index 9714d25c6f9b..9309c6429828 100644 --- a/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/prepare-artifacts.nix @@ -20,7 +20,7 @@ runHook postInstall ''; }).overrideAttrs ( - if builtins.pathExists ./overrides/${src.platform}.nix - then callPackage ./overrides/${src.platform}.nix { } + if builtins.pathExists ./overrides/${src.flutterPlatform}.nix + then callPackage ./overrides/${src.flutterPlatform}.nix { } else ({ ... }: { }) ) diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 382e9143810a..22b150eea60b 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -53,7 +53,7 @@ let buildFlutterApplication = callPackage ../../../build-support/flutter { # Package a minimal version of Flutter that only uses Linux desktop release artifacts. flutter = (wrapFlutter (mkCustomFlutter args)).override { - supportedTargetPlatforms = [ "universal" "linux" ]; + supportedTargetFlutterPlatforms = [ "universal" "linux" ]; }; }; }; diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 38c2eb289310..052c7584e939 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -3,7 +3,7 @@ , darwin , callPackage , flutter -, supportedTargetPlatforms ? [ +, supportedTargetFlutterPlatforms ? [ "universal" "web" ] @@ -44,25 +44,25 @@ }: let - supportsLinuxDesktopTarget = builtins.elem "linux" supportedTargetPlatforms; + supportsLinuxDesktopTarget = builtins.elem "linux" supportedTargetFlutterPlatforms; - platformArtifacts = lib.genAttrs supportedTargetPlatforms (platform: + flutterPlatformArtifacts = lib.genAttrs supportedTargetFlutterPlatforms (flutterPlatform: (callPackage ./artifacts/prepare-artifacts.nix { src = callPackage ./artifacts/fetch-artifacts.nix { - inherit platform; + inherit flutterPlatform; flutter = callPackage ./wrapper.nix { inherit flutter; }; - hash = artifactHashes.${platform}.${stdenv.hostPlatform.system} or ""; + hash = artifactHashes.${flutterPlatform}.${stdenv.hostPlatform.system} or ""; }; })); cacheDir = symlinkJoin rec { name = "flutter-cache-dir"; - paths = builtins.attrValues platformArtifacts; + paths = builtins.attrValues flutterPlatformArtifacts; postBuild = '' mkdir -p "$out/bin/cache" ln -s '${flutter}/bin/cache/dart-sdk' "$out/bin/cache" ''; - passthru.platform = platformArtifacts; + passthru.flutterPlatform = flutterPlatformArtifacts; }; # By default, Flutter stores downloaded files (such as the Pub cache) in the SDK directory. From da6757fd9d0deff3fe5ead896834c3e3e70d8d66 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Thu, 21 Dec 2023 20:23:36 +0200 Subject: [PATCH 11/40] flutter: Make fetch-artifects.nix independent from the host's platform This is useful for an update script --- .../flutter/artifacts/fetch-artifacts.nix | 10 +++++++++- .../compilers/flutter/flutter-tools.nix | 4 ++-- pkgs/development/compilers/flutter/flutter.nix | 17 +++++++++-------- pkgs/development/compilers/flutter/wrapper.nix | 1 + 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index 7ce6c34d9115..3d76183e7113 100644 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -5,6 +5,7 @@ , unzip , flutterPlatform +, systemPlatform , flutter , hash }: @@ -25,9 +26,16 @@ let # Use a version of Flutter with just enough capabilities to download # artifacts. supportedTargetFlutterPlatforms = [ ]; + + # Modify flutter-tool's system platform in order to get the desired platform's hashes. + flutter = flutter.unwrapped.override { + flutterTools = flutter.unwrapped.tools.override { + inherit systemPlatform; + }; + }; }; in -runCommand "flutter-artifacts-${flutterPlatform}" +runCommand "flutter-artifacts-${flutterPlatform}-${systemPlatform}" { nativeBuildInputs = [ xorg.lndir flutter' unzip ]; diff --git a/pkgs/development/compilers/flutter/flutter-tools.nix b/pkgs/development/compilers/flutter/flutter-tools.nix index 4435c8fb6c76..55fee5630c16 100644 --- a/pkgs/development/compilers/flutter/flutter-tools.nix +++ b/pkgs/development/compilers/flutter/flutter-tools.nix @@ -1,4 +1,4 @@ -{ hostPlatform +{ systemPlatform , buildDartApplication , git , which @@ -35,7 +35,7 @@ buildDartApplication.override { inherit dart; } rec { ''; dartEntryPoints."flutter_tools.snapshot" = "bin/flutter_tools.dart"; - dartCompileFlags = [ "--define=NIX_FLUTTER_HOST_PLATFORM=${hostPlatform.system}" ]; + dartCompileFlags = [ "--define=NIX_FLUTTER_HOST_PLATFORM=${systemPlatform}" ]; # The Dart wrapper launchers are useless for the Flutter tool - it is designed # to be launched from a snapshot by the SDK. diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index c78589997b43..a1a25e0e99b6 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -12,16 +12,16 @@ , git , which , jq -}: - -let - tools = callPackage ./flutter-tools.nix { +, flutterTools ? callPackage ./flutter-tools.nix { inherit dart version; flutterSrc = src; inherit patches; inherit pubspecLock; - }; + systemPlatform = stdenv.hostPlatform.system; + } +}: +let unwrapped = stdenv.mkDerivation { name = "flutter-${version}-unwrapped"; @@ -59,13 +59,13 @@ let # Add a flutter_tools artifact stamp, and build a snapshot. # This is the Flutter CLI application. echo "$(git rev-parse HEAD)" > bin/cache/flutter_tools.stamp - ln -s '${tools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot + ln -s '${flutterTools}/share/flutter_tools.snapshot' bin/cache/flutter_tools.snapshot # Some of flutter_tools's dependencies contain static assets. The # application attempts to read its own package_config.json to find these # assets at runtime. mkdir -p packages/flutter_tools/.dart_tool - ln -s '${tools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json + ln -s '${flutterTools.pubcache}/package_config.json' packages/flutter_tools/.dart_tool/package_config.json echo -n "${version}" > version cat < bin/cache/flutter.version.json @@ -119,7 +119,8 @@ let ''; passthru = { - inherit dart engineVersion tools; + inherit dart engineVersion; + tools = flutterTools; # 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. diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 052c7584e939..4cf8ac651be4 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -50,6 +50,7 @@ let (callPackage ./artifacts/prepare-artifacts.nix { src = callPackage ./artifacts/fetch-artifacts.nix { inherit flutterPlatform; + systemPlatform = stdenv.hostPlatform.system; flutter = callPackage ./wrapper.nix { inherit flutter; }; hash = artifactHashes.${flutterPlatform}.${stdenv.hostPlatform.system} or ""; }; From a38eab0660321e96f635770dbfe026000d09d9bf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Jan 2024 00:27:52 +0000 Subject: [PATCH 12/40] reaper: 7.07 -> 7.08 --- pkgs/applications/audio/reaper/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 80b46356fb45..9d943ca9c415 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -28,13 +28,13 @@ let in stdenv.mkDerivation rec { pname = "reaper"; - version = "7.07"; + version = "7.08"; src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; - hash = if stdenv.isDarwin then "sha256-w1tP7PveKEMMo0jOCDla+NmAdIgrin8UPtprEZ/KgOc=" else { - x86_64-linux = "sha256-u7sc8ZGuieUa8yKKAhVaFHEcFyWrmtTBcHXIkJRE/Ac="; - aarch64-linux = "sha256-MTVNRSo3SOuFOJXDlQ5nBDJWRM3sQg1iVm1VEXOnZfg="; + hash = if stdenv.isDarwin then "sha256-PgYAwSSRwew+QLx6/Gs+J1v3iZ4U22bn6V8XWZk8Pz0=" else { + x86_64-linux = "sha256-lya/B9k9uWrvRbMnWRT0YDV9o+DpmjPGynBVPFij3rs="; + aarch64-linux = "sha256-0ePUvVrArUdg0t+CQK37yXA4UlHlMj2Mafe0dTyz5JU="; }.${stdenv.hostPlatform.system}; }; From c28c56f3790762920f3c9849b05a69fc8b9848f6 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 12 Jan 2024 20:26:16 +0100 Subject: [PATCH 13/40] fetchzip: allow dropping unzip --- pkgs/build-support/fetchzip/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index 6e6c5270a750..dd04ccb6e093 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -5,7 +5,7 @@ # (e.g. due to minor changes in the compression algorithm, or changes # in timestamps). -{ lib, fetchurl, unzip, glibcLocalesUtf8 }: +{ lib, fetchurl, withUnzip ? true, unzip, glibcLocalesUtf8 }: { name ? "source" , url ? "" @@ -42,7 +42,7 @@ fetchurl ({ # Have to pull in glibcLocalesUtf8 for unzip in setup-hook.sh to handle # UTF-8 aware locale: # https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263 - nativeBuildInputs = [ unzip glibcLocalesUtf8 ] ++ nativeBuildInputs; + nativeBuildInputs = lib.optionals withUnzip [ unzip glibcLocalesUtf8 ] ++ nativeBuildInputs; postFetch = '' From 71a024e1f6e0d2263b5249d65b92ef5c14010a79 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 12 Jan 2024 20:26:20 +0100 Subject: [PATCH 14/40] fetchFromGitHub: drop unzip --- pkgs/build-support/fetchgithub/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix index a2498700b545..15632d30f744 100644 --- a/pkgs/build-support/fetchgithub/default.nix +++ b/pkgs/build-support/fetchgithub/default.nix @@ -28,7 +28,7 @@ let useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || (sparseCheckout != []); # We prefer fetchzip in cases we don't need submodules as the hash # is more stable in that case. - fetcher = if useFetchGit then fetchgit else fetchzip; + fetcher = if useFetchGit then fetchgit else fetchzip.override { withUnzip = false; }; privateAttrs = lib.optionalAttrs private { netrcPhase = '' if [ -z "''$${varBase}USERNAME" -o -z "''$${varBase}PASSWORD" ]; then From 80d4e7a9d7df98a33e1dfeb7602710409a88097e Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Sat, 13 Jan 2024 02:30:33 +0100 Subject: [PATCH 15/40] powershell: 7.4.0 -> 7.4.1 --- pkgs/shells/powershell/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix index 63564b0db547..97e179c94815 100644 --- a/pkgs/shells/powershell/default.nix +++ b/pkgs/shells/powershell/default.nix @@ -29,7 +29,7 @@ let in stdenv.mkDerivation rec { pname = "powershell"; - version = "7.4.0"; + version = "7.4.1"; src = passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); @@ -84,19 +84,19 @@ stdenv.mkDerivation rec { sources = { aarch64-darwin = fetchurl { url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-arm64.tar.gz"; - hash = "sha256-FnT91XGMr7gE7/dYX+i3BBNiMiqpRODS+BbKHXXmNR8="; + hash = "sha256-Q10TWUPw8eOmb+76AlHXPp6AdvUS3pxGnNsgXFvnGWc="; }; aarch64-linux = fetchurl { url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-arm64.tar.gz"; - hash = "sha256-E9MXYQuhM8ACmQxAYiqIaYk2hGBFGAmGHzeMJXMJifQ="; + hash = "sha256-cZwRVEofYyLyxY9Vkf96u3dorvl+8KOC43Efifoq3iI="; }; x86_64-darwin = fetchurl { url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-x64.tar.gz"; - hash = "sha256-i2vQtNp6wgU2g+0pizlviSn/XKO4AwZcc29TIJ6BXBM="; + hash = "sha256-H63q4MY00o8OIISTv7VBnSZd8FdwLEuoCyErZE2X3AA="; }; x86_64-linux = fetchurl { url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-x64.tar.gz"; - hash = "sha256-qoLD6SQVA7UtsYJ+P9f8CZ2nT4KLoDLptyblDHK0vuU="; + hash = "sha256-i+q6xEMbdem2fG2fr9iwLMAZ8h8jDqPZSuwTSMUFKdM="; }; }; tests.version = testers.testVersion { From 250f6d5bbd5195e27c0746a4b426d381381933ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 9 Jan 2024 11:25:46 +0100 Subject: [PATCH 16/40] pmtiles: init at 1.12.0 --- pkgs/by-name/pm/pmtiles/package.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 pkgs/by-name/pm/pmtiles/package.nix diff --git a/pkgs/by-name/pm/pmtiles/package.nix b/pkgs/by-name/pm/pmtiles/package.nix new file mode 100644 index 000000000000..ffb24053f090 --- /dev/null +++ b/pkgs/by-name/pm/pmtiles/package.nix @@ -0,0 +1,28 @@ +{ lib, buildGoModule, fetchFromGitHub }: +buildGoModule rec { + pname = "pmtiles"; + version = "1.12.0"; + + src = fetchFromGitHub { + owner = "protomaps"; + repo = "go-pmtiles"; + rev = "v${version}"; + hash = "sha256-8gd6p4AAevtRkb/IZAXfxz8lioySf3s8lT6moi1IoWc="; + }; + + vendorHash = "sha256-gLFwGEUeH41bObG32MZznF7clct3h2GEvdZ2/KIiVb4="; + + ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ]; + + postInstall = '' + mv $out/bin/go-pmtiles $out/bin/pmtiles + ''; + + meta = with lib; { + description = "The single-file utility for creating and working with PMTiles archives"; + homepage = "https://github.com/protomaps/go-pmtiles"; + license = licenses.bsd3; + maintainers = [ maintainers.theaninova ]; + mainProgram = "pmtiles"; + }; +} From 65507adef6725a7484ad2bfae70eb31657be7a3a Mon Sep 17 00:00:00 2001 From: Matt Polzin Date: Fri, 12 Jan 2024 20:46:06 -0600 Subject: [PATCH 17/40] bruno: fix darwin builds --- pkgs/by-name/br/bruno/package.nix | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index dcacc86071b1..6b373af70361 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -1,5 +1,6 @@ { lib +, stdenv , fetchFromGitHub , buildNpmPackage , nix-update-script @@ -34,9 +35,10 @@ buildNpmPackage rec { nativeBuildInputs = [ (writeShellScriptBin "phantomjs" "echo 2.1.1") + pkg-config + ] ++ lib.optionals (! stdenv.isDarwin) [ makeWrapper copyDesktopItems - pkg-config ]; buildInputs = [ @@ -74,11 +76,27 @@ buildNpmPackage rec { pushd packages/bruno-electron + ${if stdenv.isDarwin then '' + cp -r ${electron}/Applications/Electron.app ./ + find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw + + substituteInPlace electron-builder-config.js \ + --replace "identity: 'Anoop MD (W7LPPWA48L)'" 'identity: null' \ + --replace "afterSign: 'notarize.js'," "" + + npm exec electron-builder -- \ + --dir \ + --config electron-builder-config.js \ + -c.electronDist=./ \ + -c.electronVersion=${electron.version} \ + -c.npmRebuild=false + '' else '' npm exec electron-builder -- \ --dir \ -c.electronDist=${electron}/libexec/electron \ -c.electronVersion=${electron.version} \ -c.npmRebuild=false + ''} popd ''; @@ -88,6 +106,12 @@ buildNpmPackage rec { installPhase = '' runHook preInstall + + ${if stdenv.isDarwin then '' + mkdir -p $out/Applications + + cp -R packages/bruno-electron/out/**/Bruno.app $out/Applications/ + '' else '' mkdir -p $out/opt/bruno $out/bin cp -r packages/bruno-electron/dist/linux-unpacked/{locales,resources{,.pak}} $out/opt/bruno @@ -102,6 +126,7 @@ buildNpmPackage rec { size=${"$"}{s}x$s install -Dm644 $src/packages/bruno-electron/resources/icons/png/$size.png $out/share/icons/hicolor/$size/apps/bruno.png done + ''} runHook postInstall ''; From 6d9939065dd6c62c1acb164edb34e7f99561a123 Mon Sep 17 00:00:00 2001 From: Matt Polzin Date: Sat, 13 Jan 2024 16:58:33 -0600 Subject: [PATCH 18/40] bruno: fix arm64 linux builds --- pkgs/by-name/br/bruno/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index 6b373af70361..2d217217ac1d 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -114,7 +114,7 @@ buildNpmPackage rec { '' else '' mkdir -p $out/opt/bruno $out/bin - cp -r packages/bruno-electron/dist/linux-unpacked/{locales,resources{,.pak}} $out/opt/bruno + cp -r packages/bruno-electron/dist/linux*-unpacked/{locales,resources{,.pak}} $out/opt/bruno makeWrapper ${lib.getExe electron} $out/bin/bruno \ --add-flags $out/opt/bruno/resources/app.asar \ From ee18b58cf4916c5e0a0f80396114ee8786a9f1bb Mon Sep 17 00:00:00 2001 From: hacker1024 Date: Sun, 14 Jan 2024 17:21:51 +1100 Subject: [PATCH 19/40] pub2nix: Fix language version regex on Darwin --- pkgs/build-support/dart/pub2nix/package-config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/dart/pub2nix/package-config.nix b/pkgs/build-support/dart/pub2nix/package-config.nix index 309e51ec84a1..70abb0a76cef 100644 --- a/pkgs/build-support/dart/pub2nix/package-config.nix +++ b/pkgs/build-support/dart/pub2nix/package-config.nix @@ -41,7 +41,7 @@ in fi languageConstraint="$(yq -r .environment.sdk "''${packageSources["$package"]}/''${packageRoots["$package"]}/pubspec.yaml")" - if [[ "$languageConstraint" =~ ^[[:space:]]*(\^|>=|>|)[[:space:]]*([[:digit:]]+\.[[:digit:]]+)\.[[:digit:]]+.*$ ]]; then + if [[ "$languageConstraint" =~ ^[[:space:]]*(\^|>=|>)?[[:space:]]*([[:digit:]]+\.[[:digit:]]+)\.[[:digit:]]+.*$ ]]; then languageVersionJson="\"''${BASH_REMATCH[2]}\"" elif [ "$languageConstraint" = 'any' ]; then languageVersionJson='null' From 529c8626618a6bbc1d7891b0337ae93646fd02de Mon Sep 17 00:00:00 2001 From: Matt Polzin Date: Sun, 14 Jan 2024 09:50:15 -0600 Subject: [PATCH 20/40] maintainers: add mattpolzin --- maintainers/maintainer-list.nix | 6 ++++++ pkgs/by-name/br/bruno/package.nix | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 31320d5eb44e..ce70c12dde86 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11603,6 +11603,12 @@ githubId = 279868; name = "Matti Kariluoma"; }; + mattpolzin = { + email = "matt.polzin@gmail.com"; + github = "mattpolzin"; + githubId = 2075353; + name = "Matt Polzin"; + }; matt-snider = { email = "matt.snider@protonmail.com"; github = "matt-snider"; diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index 2d217217ac1d..15bbceb35d22 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -138,7 +138,7 @@ buildNpmPackage rec { homepage = "https://www.usebruno.com"; inherit (electron.meta) platforms; license = licenses.mit; - maintainers = with maintainers; [ water-sucks lucasew kashw2 ]; + maintainers = with maintainers; [ water-sucks lucasew kashw2 mattpolzin ]; mainProgram = "bruno"; }; } From b73ceb1ca70cc108305ca7af3dda7ce3bc7b4358 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Mon, 15 Jan 2024 01:34:37 +0200 Subject: [PATCH 21/40] flutter: Make it possible to override `operatingSystem` internally Makes it possible to get artifact hashes for other system platforms. Useful for an update script. --- .../compilers/flutter/artifacts/fetch-artifacts.nix | 6 ++++++ .../flutter/patches/override-operating-system.patch | 13 +++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/compilers/flutter/patches/override-operating-system.patch diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index 3d76183e7113..98efe5f72846 100644 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -40,6 +40,12 @@ runCommand "flutter-artifacts-${flutterPlatform}-${systemPlatform}" nativeBuildInputs = [ xorg.lndir flutter' unzip ]; NIX_FLUTTER_TOOLS_VM_OPTIONS = "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"; + NIX_FLUTTER_OPERATING_SYSTEM = { + "x86_64-linux" = "linux"; + "aarch64-linux" = "linux"; + "x86_64-darwin" = "macos"; + "aarch64-darwin" = "macos"; + }.${systemPlatform}; outputHash = hash; outputHashMode = "recursive"; diff --git a/pkgs/development/compilers/flutter/patches/override-operating-system.patch b/pkgs/development/compilers/flutter/patches/override-operating-system.patch new file mode 100644 index 000000000000..07d57175bd9a --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/override-operating-system.patch @@ -0,0 +1,13 @@ +diff --git a/packages/flutter_tools/lib/src/base/platform.dart b/packages/flutter_tools/lib/src/base/platform.dart +index 45da89ad4c..2d79dbaece 100644 +--- a/packages/flutter_tools/lib/src/base/platform.dart ++++ b/packages/flutter_tools/lib/src/base/platform.dart +@@ -132,7 +132,7 @@ class LocalPlatform extends Platform { + String get pathSeparator => io.Platform.pathSeparator; + + @override +- String get operatingSystem => io.Platform.operatingSystem; ++ String get operatingSystem => io.Platform.environment['NIX_FLUTTER_OPERATING_SYSTEM'] ?? io.Platform.operatingSystem; + + @override + String get operatingSystemVersion => io.Platform.operatingSystemVersion; From 5e99fd3304c5338df87996e42434dcf03dcc6e14 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Tue, 26 Dec 2023 13:24:34 +0200 Subject: [PATCH 22/40] flutter: Move to a structure more fitting for multiple versions --- .../flutter/artifacts/fetch-artifacts.nix | 5 + .../compilers/flutter/artifacts/hashes.nix | 75 -- .../development/compilers/flutter/default.nix | 35 +- .../development/compilers/flutter/flutter.nix | 3 +- .../lockfiles/stable/pubspec.lock.json | 847 ---------------- .../{flutter3 => }/copy-without-perms.patch | 0 ...deregister-pub-dependencies-artifact.patch | 0 .../{flutter3 => }/disable-auto-update.patch | 0 .../dont-validate-executable-location.patch | 0 .../flutter-pub-dart-override.patch | 0 .../patches/{flutter3 => }/git-dir.patch | 0 .../override-host-platform.patch | 0 .../compilers/flutter/versions/3_13/data.json | 901 ++++++++++++++++++ .../development/compilers/flutter/wrapper.nix | 2 +- pkgs/top-level/all-packages.nix | 7 +- 15 files changed, 928 insertions(+), 947 deletions(-) delete mode 100644 pkgs/development/compilers/flutter/artifacts/hashes.nix delete mode 100644 pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json rename pkgs/development/compilers/flutter/patches/{flutter3 => }/copy-without-perms.patch (100%) rename pkgs/development/compilers/flutter/patches/{flutter3 => }/deregister-pub-dependencies-artifact.patch (100%) rename pkgs/development/compilers/flutter/patches/{flutter3 => }/disable-auto-update.patch (100%) rename pkgs/development/compilers/flutter/patches/{flutter3 => }/dont-validate-executable-location.patch (100%) rename pkgs/development/compilers/flutter/patches/{flutter3 => }/flutter-pub-dart-override.patch (100%) rename pkgs/development/compilers/flutter/patches/{flutter3 => }/git-dir.patch (100%) rename pkgs/development/compilers/flutter/patches/{flutter3 => }/override-host-platform.patch (100%) create mode 100644 pkgs/development/compilers/flutter/versions/3_13/data.json diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index 98efe5f72846..0e1ce6e678cb 100644 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -1,3 +1,8 @@ +# Schema: +# ${flutterVersion}.${targetPlatform}.${hostPlatform} +# +# aarch64-darwin as a host is not yet supported. +# https://github.com/flutter/flutter/issues/60118 { lib , runCommand , xorg diff --git a/pkgs/development/compilers/flutter/artifacts/hashes.nix b/pkgs/development/compilers/flutter/artifacts/hashes.nix deleted file mode 100644 index 551975acf662..000000000000 --- a/pkgs/development/compilers/flutter/artifacts/hashes.nix +++ /dev/null @@ -1,75 +0,0 @@ -# NOTICE: When updating these hashes, make sure that no additional platforms -# have been added to the `flutter precache` CLI. If any have, they may be -# included in every derivation, unless they are also added to the platform list -# in fetch-artifacts.nix. -# -# The known arguments are as follows: -# $ flutter precache --help --verbose -# Usage: flutter precache [arguments] -# -h, --help Print this usage information. -# -a, --all-platforms Precache artifacts for all host platforms. -# -f, --force Force re-downloading of artifacts. -# --[no-]android Precache artifacts for Android development. -# --[no-]android_gen_snapshot Precache gen_snapshot for Android development. -# --[no-]android_maven Precache Gradle dependencies for Android development. -# --[no-]android_internal_build Precache dependencies for internal Android development. -# --[no-]ios Precache artifacts for iOS development. -# --[no-]web Precache artifacts for web development. -# --[no-]linux Precache artifacts for Linux desktop development. -# --[no-]windows Precache artifacts for Windows desktop development. -# --[no-]macos Precache artifacts for macOS desktop development. -# --[no-]fuchsia Precache artifacts for Fuchsia development. -# --[no-]universal Precache artifacts required for any development platform. -# (defaults to on) -# --[no-]flutter_runner Precache the flutter runner artifacts. -# --[no-]use-unsigned-mac-binaries Precache the unsigned macOS binaries when available. - -# Schema: -# ${flutterVersion}.${targetPlatform}.${hostPlatform} -# -# aarch64-darwin as a host is not yet supported. -# https://github.com/flutter/flutter/issues/60118 -{ - "3.13.8" = { - android = { - x86_64-linux = "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y="; - aarch64-linux = "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y="; - x86_64-darwin = "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ="; - }; - fuchsia = { - x86_64-linux = "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="; - aarch64-linux = "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="; - x86_64-darwin = "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk="; - }; - ios = { - x86_64-linux = "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="; - aarch64-linux = "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="; - x86_64-darwin = "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao="; - }; - linux = { - x86_64-linux = "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs="; - aarch64-linux = "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M="; - x86_64-darwin = "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs="; - }; - macos = { - x86_64-linux = "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="; - aarch64-linux = "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="; - x86_64-darwin = "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc="; - }; - universal = { - x86_64-linux = "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0="; - aarch64-linux = "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68="; - x86_64-darwin = "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k="; - }; - web = { - x86_64-linux = "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="; - aarch64-linux = "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="; - x86_64-darwin = "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0="; - }; - windows = { - x86_64-linux = "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="; - aarch64-linux = "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="; - x86_64-darwin = "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI="; - }; - }; -} diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 22b150eea60b..29d5d415b8a0 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -4,7 +4,7 @@ let wrapFlutter = flutter: callPackage ./wrapper.nix { inherit flutter; }; getPatches = dir: let files = builtins.attrNames (builtins.readDir dir); - in map (f: dir + ("/" + f)) files; + in if (builtins.pathExists dir) then map (f: dir + ("/" + f)) files else [ ]; mkFlutter = { version , engineVersion @@ -13,10 +13,11 @@ let , dartHash , patches , pubspecLock + , artifactHashes }: let args = { - inherit version engineVersion patches pubspecLock; + inherit version engineVersion patches pubspecLock artifactHashes; dart = dart.override { version = dartVersion; @@ -59,22 +60,18 @@ let }; }); - flutter3Patches = getPatches ./patches/flutter3; + flutterVersions = lib.mapAttrs' + (version: _: + let + versionDir = ./versions + "/${version}"; + data = lib.importJSON (versionDir + "/data.json"); + in + lib.nameValuePair "v${version}" (wrapFlutter (mkFlutter ({ + patches = (getPatches ./patches) ++ (getPatches (versionDir + "/patches")); + } // data)))) + (builtins.readDir ./versions); in -{ - inherit wrapFlutter; - stable = mkFlutter { - version = "3.13.8"; - engineVersion = "767d8c75e898091b925519803830fc2721658d07"; - dartVersion = "3.1.4"; - dartHash = { - x86_64-linux = "sha256-42wrqzjRcFDWw2aEY6+/faX+QE9PA8FmRWP4M/NkgBE="; - aarch64-linux = "sha256-/tWWWwTOgXHbwzotc7ZDDZa8+cbX6NODGYrjLK9gPPg="; - x86_64-darwin = "sha256-BchKowKd6BscVuk/dXibcQzdFkW9//GDfll77mHEI4M="; - aarch64-darwin = "sha256-9yrx09vYrOTmdqkfJI7mfh7DI1/rg67tPlf82m5+iKI="; - }; - flutterHash = "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA="; - patches = flutter3Patches; - pubspecLock = lib.importJSON ./lockfiles/stable/pubspec.lock.json; - }; +flutterVersions // { + stable = flutterVersions.${lib.last (lib.naturalSort (builtins.attrNames flutterVersions))}; + inherit wrapFlutter mkFlutter; } diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index a1a25e0e99b6..42129501ca12 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -4,6 +4,7 @@ , dart , src , pubspecLock +, artifactHashes ? null , lib , stdenv , callPackage @@ -119,7 +120,7 @@ let ''; passthru = { - inherit dart engineVersion; + inherit dart engineVersion artifactHashes; tools = flutterTools; # The derivation containing the original Flutter SDK files. # When other derivations wrap this one, any unmodified files diff --git a/pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json b/pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json deleted file mode 100644 index 517092d8ee4e..000000000000 --- a/pkgs/development/compilers/flutter/lockfiles/stable/pubspec.lock.json +++ /dev/null @@ -1,847 +0,0 @@ -{ - "packages": { - "_fe_analyzer_shared": { - "dependency": "direct main", - "description": { - "name": "_fe_analyzer_shared", - "sha256": "ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "61.0.0" - }, - "analyzer": { - "dependency": "direct main", - "description": { - "name": "analyzer", - "sha256": "ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.13.0" - }, - "archive": { - "dependency": "direct main", - "description": { - "name": "archive", - "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.3.2" - }, - "args": { - "dependency": "direct main", - "description": { - "name": "args", - "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.4.2" - }, - "async": { - "dependency": "direct main", - "description": { - "name": "async", - "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.11.0" - }, - "boolean_selector": { - "dependency": "direct main", - "description": { - "name": "boolean_selector", - "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "browser_launcher": { - "dependency": "direct main", - "description": { - "name": "browser_launcher", - "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.1" - }, - "built_collection": { - "dependency": "direct main", - "description": { - "name": "built_collection", - "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.1.1" - }, - "built_value": { - "dependency": "direct main", - "description": { - "name": "built_value", - "sha256": "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "8.6.1" - }, - "checked_yaml": { - "dependency": "direct dev", - "description": { - "name": "checked_yaml", - "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.3" - }, - "clock": { - "dependency": "direct main", - "description": { - "name": "clock", - "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.1" - }, - "collection": { - "dependency": "direct dev", - "description": { - "name": "collection", - "sha256": "f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.17.2" - }, - "completion": { - "dependency": "direct main", - "description": { - "name": "completion", - "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.1" - }, - "convert": { - "dependency": "direct main", - "description": { - "name": "convert", - "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.1" - }, - "coverage": { - "dependency": "direct main", - "description": { - "name": "coverage", - "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.6.3" - }, - "crypto": { - "dependency": "direct main", - "description": { - "name": "crypto", - "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.3" - }, - "csslib": { - "dependency": "direct main", - "description": { - "name": "csslib", - "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "dap": { - "dependency": "direct main", - "description": { - "name": "dap", - "sha256": "2120d4a8cbad45e5dbd518b713e8f064274e0a4c0e3edcaef1f4cf9ccbc90cd9", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.0" - }, - "dds": { - "dependency": "direct main", - "description": { - "name": "dds", - "sha256": "397c3c80919ee187b2efc28205af3c0378b6b757ea6d059083dece145a2e31e9", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.9.0+hotfix" - }, - "dds_service_extensions": { - "dependency": "direct main", - "description": { - "name": "dds_service_extensions", - "sha256": "9ac669bef49a4c13ed62073685089be121200fb213800ec59c202e90d569ea44", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.5.0" - }, - "devtools_shared": { - "dependency": "direct main", - "description": { - "name": "devtools_shared", - "sha256": "ad58ac3a5df41adf08d0d6f0a4d73349533edcc383ee93a30ac3d0fd0bb6df49", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.24.0" - }, - "dwds": { - "dependency": "direct main", - "description": { - "name": "dwds", - "sha256": "b6dad73ae56f00bff7647f531b9db018005f713328e816e7a277b544184e9170", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "19.0.1+1" - }, - "fake_async": { - "dependency": "direct main", - "description": { - "name": "fake_async", - "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.1" - }, - "file": { - "dependency": "direct main", - "description": { - "name": "file", - "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.1.4" - }, - "file_testing": { - "dependency": "direct dev", - "description": { - "name": "file_testing", - "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.0" - }, - "fixnum": { - "dependency": "direct main", - "description": { - "name": "fixnum", - "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.0" - }, - "flutter_template_images": { - "dependency": "direct main", - "description": { - "name": "flutter_template_images", - "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.2.0" - }, - "frontend_server_client": { - "dependency": "direct main", - "description": { - "name": "frontend_server_client", - "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.2.0" - }, - "glob": { - "dependency": "direct main", - "description": { - "name": "glob", - "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.2" - }, - "html": { - "dependency": "direct main", - "description": { - "name": "html", - "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.15.4" - }, - "http": { - "dependency": "direct main", - "description": { - "name": "http", - "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.13.6" - }, - "http_multi_server": { - "dependency": "direct main", - "description": { - "name": "http_multi_server", - "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.2.1" - }, - "http_parser": { - "dependency": "direct main", - "description": { - "name": "http_parser", - "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.0.2" - }, - "intl": { - "dependency": "direct main", - "description": { - "name": "intl", - "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.18.1" - }, - "io": { - "dependency": "direct main", - "description": { - "name": "io", - "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "js": { - "dependency": "direct main", - "description": { - "name": "js", - "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.7" - }, - "json_annotation": { - "dependency": "direct dev", - "description": { - "name": "json_annotation", - "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.8.1" - }, - "json_rpc_2": { - "dependency": "direct main", - "description": { - "name": "json_rpc_2", - "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.2" - }, - "logging": { - "dependency": "direct main", - "description": { - "name": "logging", - "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "matcher": { - "dependency": "direct main", - "description": { - "name": "matcher", - "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.12.16" - }, - "meta": { - "dependency": "direct main", - "description": { - "name": "meta", - "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.9.1" - }, - "mime": { - "dependency": "direct main", - "description": { - "name": "mime", - "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "multicast_dns": { - "dependency": "direct main", - "description": { - "name": "multicast_dns", - "sha256": "80e54aba906a7cc68fdc6a201e76b135af27155e2f8e958181d85e2b73786591", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.3.2+3" - }, - "mustache_template": { - "dependency": "direct main", - "description": { - "name": "mustache_template", - "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.0" - }, - "native_stack_traces": { - "dependency": "direct main", - "description": { - "name": "native_stack_traces", - "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.5.6" - }, - "node_preamble": { - "dependency": "direct dev", - "description": { - "name": "node_preamble", - "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.2" - }, - "package_config": { - "dependency": "direct main", - "description": { - "name": "package_config", - "sha256": "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.0" - }, - "path": { - "dependency": "direct main", - "description": { - "name": "path", - "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.8.3" - }, - "petitparser": { - "dependency": "direct main", - "description": { - "name": "petitparser", - "sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "5.4.0" - }, - "platform": { - "dependency": "direct main", - "description": { - "name": "platform", - "sha256": "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.0" - }, - "pool": { - "dependency": "direct main", - "description": { - "name": "pool", - "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.5.1" - }, - "process": { - "dependency": "direct main", - "description": { - "name": "process", - "sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.2.4" - }, - "pub_semver": { - "dependency": "direct main", - "description": { - "name": "pub_semver", - "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.4" - }, - "pubspec_parse": { - "dependency": "direct dev", - "description": { - "name": "pubspec_parse", - "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.3" - }, - "shelf": { - "dependency": "direct main", - "description": { - "name": "shelf", - "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.4.1" - }, - "shelf_packages_handler": { - "dependency": "direct main", - "description": { - "name": "shelf_packages_handler", - "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.2" - }, - "shelf_proxy": { - "dependency": "direct main", - "description": { - "name": "shelf_proxy", - "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "shelf_static": { - "dependency": "direct main", - "description": { - "name": "shelf_static", - "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.2" - }, - "shelf_web_socket": { - "dependency": "direct main", - "description": { - "name": "shelf_web_socket", - "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.0.4" - }, - "source_map_stack_trace": { - "dependency": "direct main", - "description": { - "name": "source_map_stack_trace", - "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "source_maps": { - "dependency": "direct main", - "description": { - "name": "source_maps", - "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.10.12" - }, - "source_span": { - "dependency": "direct main", - "description": { - "name": "source_span", - "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.10.0" - }, - "sse": { - "dependency": "direct main", - "description": { - "name": "sse", - "sha256": "3ff9088cac3f45aa8b91336f1962e3ea6c81baaba0bbba361c05f8aa7fb59442", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.1.2" - }, - "stack_trace": { - "dependency": "direct main", - "description": { - "name": "stack_trace", - "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.11.0" - }, - "standard_message_codec": { - "dependency": "direct main", - "description": { - "name": "standard_message_codec", - "sha256": "906e66549f0ea90d87c5320e0b0f04738c5d14bc7fb121a15da31b60e84f5b15", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.0.1+3" - }, - "stream_channel": { - "dependency": "direct main", - "description": { - "name": "stream_channel", - "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.1.1" - }, - "string_scanner": { - "dependency": "direct main", - "description": { - "name": "string_scanner", - "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "sync_http": { - "dependency": "direct main", - "description": { - "name": "sync_http", - "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.3.1" - }, - "term_glyph": { - "dependency": "direct main", - "description": { - "name": "term_glyph", - "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.1" - }, - "test": { - "dependency": "direct dev", - "description": { - "name": "test", - "sha256": "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.24.3" - }, - "test_api": { - "dependency": "direct main", - "description": { - "name": "test_api", - "sha256": "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.6.0" - }, - "test_core": { - "dependency": "direct main", - "description": { - "name": "test_core", - "sha256": "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.5.3" - }, - "typed_data": { - "dependency": "direct main", - "description": { - "name": "typed_data", - "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.3.2" - }, - "unified_analytics": { - "dependency": "direct main", - "description": { - "name": "unified_analytics", - "sha256": "4f9f29e5fd357d68fce270e37c7ad9bb489ee20098529199d6bc786b2b624298", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.0" - }, - "usage": { - "dependency": "direct main", - "description": { - "name": "usage", - "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "4.1.1" - }, - "uuid": { - "dependency": "direct main", - "description": { - "name": "uuid", - "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.7" - }, - "vm_service": { - "dependency": "direct main", - "description": { - "name": "vm_service", - "sha256": "c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "11.7.1" - }, - "vm_snapshot_analysis": { - "dependency": "direct main", - "description": { - "name": "vm_snapshot_analysis", - "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "0.7.6" - }, - "watcher": { - "dependency": "direct main", - "description": { - "name": "watcher", - "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.1.0" - }, - "web_socket_channel": { - "dependency": "direct main", - "description": { - "name": "web_socket_channel", - "sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.4.0" - }, - "webdriver": { - "dependency": "direct main", - "description": { - "name": "webdriver", - "sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.0.2" - }, - "webkit_inspection_protocol": { - "dependency": "direct main", - "description": { - "name": "webkit_inspection_protocol", - "sha256": "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "1.2.0" - }, - "xml": { - "dependency": "direct main", - "description": { - "name": "xml", - "sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "6.3.0" - }, - "yaml": { - "dependency": "direct main", - "description": { - "name": "yaml", - "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.2" - } - }, - "sdks": { - "dart": ">=3.0.0 <4.0.0" - } -} diff --git a/pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch b/pkgs/development/compilers/flutter/patches/copy-without-perms.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/copy-without-perms.patch rename to pkgs/development/compilers/flutter/patches/copy-without-perms.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter3/deregister-pub-dependencies-artifact.patch b/pkgs/development/compilers/flutter/patches/deregister-pub-dependencies-artifact.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/deregister-pub-dependencies-artifact.patch rename to pkgs/development/compilers/flutter/patches/deregister-pub-dependencies-artifact.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/disable-auto-update.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/disable-auto-update.patch rename to pkgs/development/compilers/flutter/patches/disable-auto-update.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch b/pkgs/development/compilers/flutter/patches/dont-validate-executable-location.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/dont-validate-executable-location.patch rename to pkgs/development/compilers/flutter/patches/dont-validate-executable-location.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch b/pkgs/development/compilers/flutter/patches/flutter-pub-dart-override.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/flutter-pub-dart-override.patch rename to pkgs/development/compilers/flutter/patches/flutter-pub-dart-override.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch b/pkgs/development/compilers/flutter/patches/git-dir.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/git-dir.patch rename to pkgs/development/compilers/flutter/patches/git-dir.patch diff --git a/pkgs/development/compilers/flutter/patches/flutter3/override-host-platform.patch b/pkgs/development/compilers/flutter/patches/override-host-platform.patch similarity index 100% rename from pkgs/development/compilers/flutter/patches/flutter3/override-host-platform.patch rename to pkgs/development/compilers/flutter/patches/override-host-platform.patch diff --git a/pkgs/development/compilers/flutter/versions/3_13/data.json b/pkgs/development/compilers/flutter/versions/3_13/data.json new file mode 100644 index 000000000000..72e002f144d3 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_13/data.json @@ -0,0 +1,901 @@ +{ + "version": "3.13.8", + "engineVersion": "767d8c75e898091b925519803830fc2721658d07", + "dartVersion": "3.1.4", + "dartHash": { + "x86_64-linux": "sha256-42wrqzjRcFDWw2aEY6+/faX+QE9PA8FmRWP4M/NkgBE=", + "aarch64-linux": "sha256-/tWWWwTOgXHbwzotc7ZDDZa8+cbX6NODGYrjLK9gPPg=", + "x86_64-darwin": "sha256-BchKowKd6BscVuk/dXibcQzdFkW9//GDfll77mHEI4M=", + "aarch64-darwin": "sha256-9yrx09vYrOTmdqkfJI7mfh7DI1/rg67tPlf82m5+iKI=" + }, + "flutterHash": "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA=", + "artifactHashes": { + "android": { + "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=", + "aarch64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=", + "x86_64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=" + }, + "fuchsia": { + "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" + }, + "ios": { + "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", + "aarch64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", + "x86_64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=" + }, + "linux": { + "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=", + "aarch64-linux": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=", + "x86_64-darwin": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=" + }, + "macos": { + "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", + "aarch64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", + "x86_64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=" + }, + "universal": { + "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0=", + "aarch64-linux": "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68=", + "x86_64-darwin": "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k=" + }, + "web": { + "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", + "aarch64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", + "x86_64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=" + }, + "windows": { + "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", + "aarch64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", + "x86_64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=" + } + }, + "pubspecLock": { + "packages": { + "_fe_analyzer_shared": { + "dependency": "direct main", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "61.0.0" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.13.0" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.2" + }, + "args": { + "dependency": "direct main", + "description": { + "name": "args", + "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2" + }, + "async": { + "dependency": "direct main", + "description": { + "name": "async", + "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.11.0" + }, + "boolean_selector": { + "dependency": "direct main", + "description": { + "name": "boolean_selector", + "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "browser_launcher": { + "dependency": "direct main", + "description": { + "name": "browser_launcher", + "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "built_collection": { + "dependency": "direct main", + "description": { + "name": "built_collection", + "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.1" + }, + "built_value": { + "dependency": "direct main", + "description": { + "name": "built_value", + "sha256": "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.6.1" + }, + "checked_yaml": { + "dependency": "direct dev", + "description": { + "name": "checked_yaml", + "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.3" + }, + "clock": { + "dependency": "direct main", + "description": { + "name": "clock", + "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "collection": { + "dependency": "direct dev", + "description": { + "name": "collection", + "sha256": "f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.17.2" + }, + "completion": { + "dependency": "direct main", + "description": { + "name": "completion", + "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "convert": { + "dependency": "direct main", + "description": { + "name": "convert", + "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.1" + }, + "coverage": { + "dependency": "direct main", + "description": { + "name": "coverage", + "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.3" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "csslib": { + "dependency": "direct main", + "description": { + "name": "csslib", + "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "dap": { + "dependency": "direct main", + "description": { + "name": "dap", + "sha256": "2120d4a8cbad45e5dbd518b713e8f064274e0a4c0e3edcaef1f4cf9ccbc90cd9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "dds": { + "dependency": "direct main", + "description": { + "name": "dds", + "sha256": "397c3c80919ee187b2efc28205af3c0378b6b757ea6d059083dece145a2e31e9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.9.0+hotfix" + }, + "dds_service_extensions": { + "dependency": "direct main", + "description": { + "name": "dds_service_extensions", + "sha256": "9ac669bef49a4c13ed62073685089be121200fb213800ec59c202e90d569ea44", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.0" + }, + "devtools_shared": { + "dependency": "direct main", + "description": { + "name": "devtools_shared", + "sha256": "ad58ac3a5df41adf08d0d6f0a4d73349533edcc383ee93a30ac3d0fd0bb6df49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.24.0" + }, + "dwds": { + "dependency": "direct main", + "description": { + "name": "dwds", + "sha256": "b6dad73ae56f00bff7647f531b9db018005f713328e816e7a277b544184e9170", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "19.0.1+1" + }, + "fake_async": { + "dependency": "direct main", + "description": { + "name": "fake_async", + "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.1" + }, + "file": { + "dependency": "direct main", + "description": { + "name": "file", + "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.4" + }, + "file_testing": { + "dependency": "direct dev", + "description": { + "name": "file_testing", + "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "fixnum": { + "dependency": "direct main", + "description": { + "name": "fixnum", + "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "flutter_template_images": { + "dependency": "direct main", + "description": { + "name": "flutter_template_images", + "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.0" + }, + "frontend_server_client": { + "dependency": "direct main", + "description": { + "name": "frontend_server_client", + "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.0" + }, + "glob": { + "dependency": "direct main", + "description": { + "name": "glob", + "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "html": { + "dependency": "direct main", + "description": { + "name": "html", + "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.15.4" + }, + "http": { + "dependency": "direct main", + "description": { + "name": "http", + "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.13.6" + }, + "http_multi_server": { + "dependency": "direct main", + "description": { + "name": "http_multi_server", + "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.1" + }, + "http_parser": { + "dependency": "direct main", + "description": { + "name": "http_parser", + "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.18.1" + }, + "io": { + "dependency": "direct main", + "description": { + "name": "io", + "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "js": { + "dependency": "direct main", + "description": { + "name": "js", + "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.7" + }, + "json_annotation": { + "dependency": "direct dev", + "description": { + "name": "json_annotation", + "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.8.1" + }, + "json_rpc_2": { + "dependency": "direct main", + "description": { + "name": "json_rpc_2", + "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "logging": { + "dependency": "direct main", + "description": { + "name": "logging", + "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "matcher": { + "dependency": "direct main", + "description": { + "name": "matcher", + "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.16" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.9.1" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "multicast_dns": { + "dependency": "direct main", + "description": { + "name": "multicast_dns", + "sha256": "80e54aba906a7cc68fdc6a201e76b135af27155e2f8e958181d85e2b73786591", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.2+3" + }, + "mustache_template": { + "dependency": "direct main", + "description": { + "name": "mustache_template", + "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "native_stack_traces": { + "dependency": "direct main", + "description": { + "name": "native_stack_traces", + "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.6" + }, + "node_preamble": { + "dependency": "direct dev", + "description": { + "name": "node_preamble", + "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "package_config": { + "dependency": "direct main", + "description": { + "name": "package_config", + "sha256": "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "path": { + "dependency": "direct main", + "description": { + "name": "path", + "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.8.3" + }, + "petitparser": { + "dependency": "direct main", + "description": { + "name": "petitparser", + "sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.4.0" + }, + "platform": { + "dependency": "direct main", + "description": { + "name": "platform", + "sha256": "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.0" + }, + "pool": { + "dependency": "direct main", + "description": { + "name": "pool", + "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.1" + }, + "process": { + "dependency": "direct main", + "description": { + "name": "process", + "sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.4" + }, + "pub_semver": { + "dependency": "direct main", + "description": { + "name": "pub_semver", + "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "pubspec_parse": { + "dependency": "direct dev", + "description": { + "name": "pubspec_parse", + "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.3" + }, + "shelf": { + "dependency": "direct main", + "description": { + "name": "shelf", + "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "shelf_packages_handler": { + "dependency": "direct main", + "description": { + "name": "shelf_packages_handler", + "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "shelf_proxy": { + "dependency": "direct main", + "description": { + "name": "shelf_proxy", + "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "shelf_static": { + "dependency": "direct main", + "description": { + "name": "shelf_static", + "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "shelf_web_socket": { + "dependency": "direct main", + "description": { + "name": "shelf_web_socket", + "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "source_map_stack_trace": { + "dependency": "direct main", + "description": { + "name": "source_map_stack_trace", + "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "source_maps": { + "dependency": "direct main", + "description": { + "name": "source_maps", + "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.12" + }, + "source_span": { + "dependency": "direct main", + "description": { + "name": "source_span", + "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.0" + }, + "sse": { + "dependency": "direct main", + "description": { + "name": "sse", + "sha256": "3ff9088cac3f45aa8b91336f1962e3ea6c81baaba0bbba361c05f8aa7fb59442", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "stack_trace": { + "dependency": "direct main", + "description": { + "name": "stack_trace", + "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.11.0" + }, + "standard_message_codec": { + "dependency": "direct main", + "description": { + "name": "standard_message_codec", + "sha256": "906e66549f0ea90d87c5320e0b0f04738c5d14bc7fb121a15da31b60e84f5b15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.1+3" + }, + "stream_channel": { + "dependency": "direct main", + "description": { + "name": "stream_channel", + "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "string_scanner": { + "dependency": "direct main", + "description": { + "name": "string_scanner", + "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "sync_http": { + "dependency": "direct main", + "description": { + "name": "sync_http", + "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.1" + }, + "term_glyph": { + "dependency": "direct main", + "description": { + "name": "term_glyph", + "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "test": { + "dependency": "direct dev", + "description": { + "name": "test", + "sha256": "13b41f318e2a5751c3169137103b60c584297353d4b1761b66029bae6411fe46", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.24.3" + }, + "test_api": { + "dependency": "direct main", + "description": { + "name": "test_api", + "sha256": "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.0" + }, + "test_core": { + "dependency": "direct main", + "description": { + "name": "test_core", + "sha256": "99806e9e6d95c7b059b7a0fc08f07fc53fabe54a829497f0d9676299f1e8637e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.3" + }, + "typed_data": { + "dependency": "direct main", + "description": { + "name": "typed_data", + "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.2" + }, + "unified_analytics": { + "dependency": "direct main", + "description": { + "name": "unified_analytics", + "sha256": "4f9f29e5fd357d68fce270e37c7ad9bb489ee20098529199d6bc786b2b624298", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "usage": { + "dependency": "direct main", + "description": { + "name": "usage", + "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.1" + }, + "uuid": { + "dependency": "direct main", + "description": { + "name": "uuid", + "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.7" + }, + "vm_service": { + "dependency": "direct main", + "description": { + "name": "vm_service", + "sha256": "c620a6f783fa22436da68e42db7ebbf18b8c44b9a46ab911f666ff09ffd9153f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.7.1" + }, + "vm_snapshot_analysis": { + "dependency": "direct main", + "description": { + "name": "vm_snapshot_analysis", + "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.6" + }, + "watcher": { + "dependency": "direct main", + "description": { + "name": "watcher", + "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.0" + }, + "webdriver": { + "dependency": "direct main", + "description": { + "name": "webdriver", + "sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "webkit_inspection_protocol": { + "dependency": "direct main", + "description": { + "name": "webkit_inspection_protocol", + "sha256": "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "xml": { + "dependency": "direct main", + "description": { + "name": "xml", + "sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.3.0" + }, + "yaml": { + "dependency": "direct main", + "description": { + "name": "yaml", + "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + } + }, + "sdks": { + "dart": ">=3.0.0 <4.0.0" + } + } +} diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 4cf8ac651be4..3ed19c921a6c 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -10,7 +10,7 @@ ++ lib.optional stdenv.hostPlatform.isLinux "linux" ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android" ++ lib.optionals stdenv.hostPlatform.isDarwin [ "macos" "ios" ] -, artifactHashes ? (import ./artifacts/hashes.nix).${flutter.version} +, artifactHashes ? flutter.artifactHashes , extraPkgConfigPackages ? [ ] , extraLibraries ? [ ] , extraIncludes ? [ ] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76bfc95600b9..f701ebdc5eef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15805,10 +15805,9 @@ with pkgs; fluidd = callPackage ../applications/misc/fluidd { }; - flutterPackages = - recurseIntoAttrs (callPackage ../development/compilers/flutter { }); - flutter-unwrapped = flutterPackages.stable; - flutter = flutterPackages.wrapFlutter flutter-unwrapped; + flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { }); + flutter = flutterPackages.stable; + flutter313 = flutterPackages.v3_13; fnm = callPackage ../development/tools/fnm { inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security; From cd5fd58b7213553692e9552a4d0185e034e22b4f Mon Sep 17 00:00:00 2001 From: Emil Thorsoe Date: Mon, 15 Jan 2024 15:45:45 +0200 Subject: [PATCH 23/40] trace-cmd: search path properly when running commands --- pkgs/os-specific/linux/trace-cmd/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/trace-cmd/default.nix b/pkgs/os-specific/linux/trace-cmd/default.nix index 7bdadc2cea15..d19754cdb5e0 100644 --- a/pkgs/os-specific/linux/trace-cmd/default.nix +++ b/pkgs/os-specific/linux/trace-cmd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, pkg-config, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libtraceevent, libtracefs, zstd, sourceHighlight }: +{ lib, stdenv, fetchpatch, fetchzip, pkg-config, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt, libtraceevent, libtracefs, zstd, sourceHighlight }: stdenv.mkDerivation rec { pname = "trace-cmd"; version = "3.2"; @@ -8,6 +8,14 @@ stdenv.mkDerivation rec { hash = "sha256-rTcaaEQ3Y4cneNnZSGiMZNp+Z7dyAa3oNTNMAEXr28g="; }; + patches = [ + # Upstream patches to be released in the next version + (fetchpatch { + sha256 = "sha256-eGuHODm29M7rbGYsyXUPoNe1xsIG3eJYhwXQDakRJHA="; + url = "https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/patch/?id=6b07a7df871342068604b204711ab741d421d051"; + }) + ]; + # Don't build and install html documentation postPatch = '' sed -i -e '/^all:/ s/html//' -e '/^install:/ s/install-html//' \ From 8710f4654443e30806590d011254489aa1ef11ad Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Tue, 9 Jan 2024 21:14:03 +0200 Subject: [PATCH 24/40] flutter: Add update script --- .../flutter/update/get-artifact-hashes.nix | 48 +++ .../flutter/update/get-dart-hashes.nix | 26 ++ .../compilers/flutter/update/get-flutter.nix | 7 + .../flutter/update/get-pubspec-lock.nix | 30 ++ .../compilers/flutter/update/update.py | 339 ++++++++++++++++++ .../development/compilers/flutter/wrapper.nix | 1 + 6 files changed, 451 insertions(+) create mode 100644 pkgs/development/compilers/flutter/update/get-artifact-hashes.nix create mode 100644 pkgs/development/compilers/flutter/update/get-dart-hashes.nix create mode 100644 pkgs/development/compilers/flutter/update/get-flutter.nix create mode 100644 pkgs/development/compilers/flutter/update/get-pubspec-lock.nix create mode 100755 pkgs/development/compilers/flutter/update/update.py diff --git a/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix b/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix new file mode 100644 index 000000000000..89343a323165 --- /dev/null +++ b/pkgs/development/compilers/flutter/update/get-artifact-hashes.nix @@ -0,0 +1,48 @@ +{ callPackage +, flutterPackages +, lib +, symlinkJoin +, +}: +let + nixpkgsRoot = "@nixpkgs_root@"; + flutterCompactVersion = "@flutter_compact_version@"; + + flutterPlatforms = [ + "android" + "ios" + "web" + "linux" + "windows" + "macos" + "fuchsia" + "universal" + ]; + systemPlatforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + ]; + + derivations = + lib.foldl' + ( + acc: flutterPlatform: + acc + ++ (map + (systemPlatform: + callPackage "${nixpkgsRoot}/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix" { + flutter = flutterPackages."v${flutterCompactVersion}"; + inherit flutterPlatform; + inherit systemPlatform; + hash = ""; + }) + systemPlatforms) + ) [ ] + flutterPlatforms; +in +symlinkJoin { + name = "evaluate-derivations"; + paths = derivations; +} + diff --git a/pkgs/development/compilers/flutter/update/get-dart-hashes.nix b/pkgs/development/compilers/flutter/update/get-dart-hashes.nix new file mode 100644 index 000000000000..4122110bccaa --- /dev/null +++ b/pkgs/development/compilers/flutter/update/get-dart-hashes.nix @@ -0,0 +1,26 @@ +let + dartVersion = "@dart_version@"; + platform = "@platform@"; +in +{ + x86_64-linux = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip"; + sha256 = ""; + }; + aarch64-linux = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip"; + sha256 = ""; + }; + x86_64-darwin = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip"; + sha256 = ""; + }; + aarch64-darwin = { fetchzip }: + fetchzip { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-arm64-release.zip"; + sha256 = ""; + }; +}.${platform} diff --git a/pkgs/development/compilers/flutter/update/get-flutter.nix b/pkgs/development/compilers/flutter/update/get-flutter.nix new file mode 100644 index 000000000000..81680797229b --- /dev/null +++ b/pkgs/development/compilers/flutter/update/get-flutter.nix @@ -0,0 +1,7 @@ +{ fetchFromGitHub }: +fetchFromGitHub { + owner = "flutter"; + repo = "flutter"; + rev = "@flutter_version@"; + hash = "@hash@"; +} diff --git a/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix b/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix new file mode 100644 index 000000000000..ff72046bcecb --- /dev/null +++ b/pkgs/development/compilers/flutter/update/get-pubspec-lock.nix @@ -0,0 +1,30 @@ +{ flutterPackages +, stdenv +, cacert +, +}: +let + flutterCompactVersion = "@flutter_compact_version@"; + inherit (flutterPackages."v${flutterCompactVersion}") dart; +in +stdenv.mkDerivation { + name = "pubspec-lock"; + src = @flutter_src@; + + nativeBuildInputs = [ dart ]; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "@hash@"; + + buildPhase = '' + cd ./packages/flutter_tools + + export HOME="$(mktemp -d)" + dart --root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt pub get -v + ''; + + installPhase = '' + cp -r ./pubspec.lock $out + ''; +} diff --git a/pkgs/development/compilers/flutter/update/update.py b/pkgs/development/compilers/flutter/update/update.py new file mode 100755 index 000000000000..c622487cf9dc --- /dev/null +++ b/pkgs/development/compilers/flutter/update/update.py @@ -0,0 +1,339 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i python3 -p python3Packages.pyyaml + +import shutil +import json +import urllib.request +import tempfile +from sys import exit +import os +import subprocess +import re +import json +import argparse +import yaml +import json + + +NIXPKGS_ROOT = subprocess.Popen(['git', + 'rev-parse', + '--show-toplevel'], + stdout=subprocess.PIPE, + text=True).communicate()[0].strip() + + +def load_code(name, **kwargs): + with open(f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/update/{name}", 'r') as f: + code = f.read() + + for (key, value) in kwargs.items(): + code = code.replace(f"@{key}@", value) + + return code + + +# Return out paths +def nix_build(code): + temp = tempfile.NamedTemporaryFile(mode='w') + temp.write(code) + temp.flush() + os.fsync(temp.fileno()) + + process = subprocess.Popen( + [ + "nix-build", + "--impure", + "--no-out-link", + "--expr", + f"with import {NIXPKGS_ROOT} {{}}; callPackage {temp.name} {{}}"], + stdout=subprocess.PIPE, + text=True) + + process.wait() + temp.close() + return process.stdout.read().strip().splitlines()[0] + + +# Return errors +def nix_build_to_fail(code): + temp = tempfile.NamedTemporaryFile(mode='w') + temp.write(code) + temp.flush() + os.fsync(temp.fileno()) + + process = subprocess.Popen( + [ + "nix-build", + "--impure", + "--keep-going", + "--no-link", + "--expr", + f"with import {NIXPKGS_ROOT} {{}}; callPackage {temp.name} {{}}"], + stderr=subprocess.PIPE, + text=True) + + stderr = "" + while True: + line = process.stderr.readline() + if not line: + break + stderr += line + print(line.strip()) + + process.wait() + temp.close() + return stderr + + +def get_artifact_hashes(flutter_compact_version): + code = load_code("get-artifact-hashes.nix", + nixpkgs_root=NIXPKGS_ROOT, + flutter_compact_version=flutter_compact_version) + + stderr = nix_build_to_fail(code) + + pattern = re.compile( + r"/nix/store/.*-flutter-artifacts-(.+?)-(.+?).drv':\n\s+specified: .*\n\s+got:\s+(.+?)\n") + matches = pattern.findall(stderr) + result_dict = {} + + for match in matches: + flutter_platform, architecture, got = match + result_dict.setdefault(flutter_platform, {})[architecture] = got + + def sort_dict_recursive(d): + return { + k: sort_dict_recursive(v) if isinstance( + v, dict) else v for k, v in sorted( + d.items())} + result_dict = sort_dict_recursive(result_dict) + + return result_dict + + +def get_dart_hashes(dart_version): + platforms = [ + "x86_64-linux", + "aarch64-linux", + "x86_64-darwin", + "aarch64-darwin"] + result_dict = {} + for platform in platforms: + code = load_code( + "get-dart-hashes.nix", + dart_version=dart_version, + platform=platform) + stderr = nix_build_to_fail(code) + + pattern = re.compile(r"got:\s+(.+?)\n") + result_dict[platform] = pattern.findall(stderr)[0] + + return result_dict + + +def get_flutter_hash_and_src(flutter_version): + code = load_code( + "get-flutter.nix", + flutter_version=flutter_version, + hash="") + + stderr = nix_build_to_fail(code) + pattern = re.compile(r"got:\s+(.+?)\n") + hash = pattern.findall(stderr)[0] + + code = load_code( + "get-flutter.nix", + flutter_version=flutter_version, + hash=hash) + + return (hash, nix_build(code)) + + +def get_pubspec_lock(flutter_compact_version, flutter_src): + code = load_code( + "get-pubspec-lock.nix", + flutter_compact_version=flutter_compact_version, + flutter_src=flutter_src, + hash="") + + stderr = nix_build_to_fail(code) + pattern = re.compile(r"got:\s+(.+?)\n") + hash = pattern.findall(stderr)[0] + + code = load_code( + "get-pubspec-lock.nix", + flutter_compact_version=flutter_compact_version, + flutter_src=flutter_src, + hash=hash) + + pubspec_lock_file = nix_build(code) + + with open(pubspec_lock_file, 'r') as f: + pubspec_lock_yaml = f.read() + + return yaml.safe_load(pubspec_lock_yaml) + + +def write_data( + nixpkgs_flutter_version_directory, + flutter_version, + engine_hash, + dart_version, + dart_hash, + flutter_hash, + artifact_hashes, + pubspec_lock): + with open(f"{nixpkgs_flutter_version_directory}/data.json", "w") as f: + f.write(json.dumps({ + "version": flutter_version, + "engineVersion": engine_hash, + "dartVersion": dart_version, + "dartHash": dart_hash, + "flutterHash": flutter_hash, + "artifactHashes": artifact_hashes, + "pubspecLock": pubspec_lock, + }, indent=2).strip() + "\n") + + +def update_all_packages(): + versions_directory = f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/versions" + versions = [directory for directory in os.listdir(versions_directory)] + versions = sorted(versions, key=lambda x: ( + int(x.split('_')[0]), int(x.split('_')[1])), reverse=True) + + new_content = [ + "flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { });", + "flutter = flutterPackages.stable;", + ] + [f"flutter{version.replace('_', '')} = flutterPackages.v{version};" for version in versions] + + with open(f"{NIXPKGS_ROOT}/pkgs/top-level/all-packages.nix", 'r') as file: + lines = file.read().splitlines(keepends=True) + + start = -1 + end = -1 + for i, line in enumerate(lines): + if "flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { });" in line: + start = i + if start != -1 and len(line.strip()) == 0: + end = i + break + + if start != -1 and end != -1: + del lines[start:end] + lines[start:start] = [f" {l}\n" for l in new_content] + + with open(f"{NIXPKGS_ROOT}/pkgs/top-level/all-packages.nix", 'w') as file: + file.write("".join(lines)) + + +# Finds Flutter version, Dart version, and Engine hash. +# If the Flutter version is given, it uses that. Otherwise finds the +# latest stable Flutter version. +def find_versions(flutter_version=None): + engine_hash = None + dart_version = None + + releases = json.load(urllib.request.urlopen( + "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json")) + + if not flutter_version: + stable_hash = releases['current_release']['stable'] + release = next( + filter( + lambda release: release['hash'] == stable_hash, + releases['releases'])) + flutter_version = release['version'] + + tags = subprocess.Popen(['git', + 'ls-remote', + '--tags', + 'https://github.com/flutter/engine.git'], + stdout=subprocess.PIPE, + text=True).communicate()[0].strip() + + try: + engine_hash = next( + filter( + lambda line: line.endswith(f'refs/tags/{flutter_version}'), + tags.splitlines())).split('refs')[0].strip() + except StopIteration: + exit( + f"Couldn't find Engine hash for Flutter version: {flutter_version}") + + try: + dart_version = next( + filter( + lambda release: release['version'] == flutter_version, + releases['releases']))['dart_sdk_version'] + except StopIteration: + exit( + f"Couldn't find Dart version for Flutter version: {flutter_version}") + + return (flutter_version, engine_hash, dart_version) + + +def main(): + parser = argparse.ArgumentParser(description='Update Flutter in Nixpkgs') + parser.add_argument('--version', type=str, help='Specify Flutter version') + parser.add_argument('--artifact-hashes', action='store_true', + help='Whether to get artifact hashes') + args = parser.parse_args() + + (flutter_version, engine_hash, dart_version) = find_versions(args.version) + + flutter_compact_version = '_'.join(flutter_version.split('.')[:2]) + + if args.artifact_hashes: + print( + json.dumps( + get_artifact_hashes(flutter_compact_version), + indent=2).strip() + + "\n") + return + + print(f"Flutter version: {flutter_version} ({flutter_compact_version})") + print(f"Engine hash: {engine_hash}") + print(f"Dart version: {dart_version}") + + dart_hash = get_dart_hashes(dart_version) + (flutter_hash, flutter_src) = get_flutter_hash_and_src(flutter_version) + + nixpkgs_flutter_version_directory = f"{NIXPKGS_ROOT}/pkgs/development/compilers/flutter/versions/{flutter_compact_version}" + + if os.path.exists(f"{nixpkgs_flutter_version_directory}/data.json"): + os.remove(f"{nixpkgs_flutter_version_directory}/data.json") + os.makedirs(nixpkgs_flutter_version_directory, exist_ok=True) + + update_all_packages() + + common_data_args = { + "nixpkgs_flutter_version_directory": nixpkgs_flutter_version_directory, + "flutter_version": flutter_version, + "dart_version": dart_version, + "engine_hash": engine_hash, + "flutter_hash": flutter_hash, + "dart_hash": dart_hash, + } + + write_data( + pubspec_lock={}, + artifact_hashes={}, + **common_data_args) + + pubspec_lock = get_pubspec_lock(flutter_compact_version, flutter_src) + + write_data( + pubspec_lock=pubspec_lock, + artifact_hashes={}, + **common_data_args) + + artifact_hashes = get_artifact_hashes(flutter_compact_version) + + write_data( + pubspec_lock=pubspec_lock, + artifact_hashes=artifact_hashes, + **common_data_args) + + +if __name__ == "__main__": + main() diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 3ed19c921a6c..4a7aedf97d38 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -128,6 +128,7 @@ in passthru = flutter.passthru // { inherit (flutter) version; unwrapped = flutter; + updateScript = ./update/update.py; inherit cacheDir; }; From 15b87fdcd9dd23a91e4592860344f0673049a597 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Mon, 15 Jan 2024 03:16:38 +0200 Subject: [PATCH 25/40] flutter: 3.13.8 -> 3.16.7 --- .../flutter/patches/disable-auto-update.patch | 13 - .../patches/disable-auto-update-shared.patch | 13 + .../compilers/flutter/versions/3_16/data.json | 951 ++++++++++++++++++ .../patches/disable-auto-update-shared.patch | 13 + pkgs/top-level/all-packages.nix | 1 + 5 files changed, 978 insertions(+), 13 deletions(-) create mode 100644 pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch create mode 100644 pkgs/development/compilers/flutter/versions/3_16/data.json create mode 100644 pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch diff --git a/pkgs/development/compilers/flutter/patches/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/disable-auto-update.patch index 23a657e7c6a9..05960c01b737 100644 --- a/pkgs/development/compilers/flutter/patches/disable-auto-update.patch +++ b/pkgs/development/compilers/flutter/patches/disable-auto-update.patch @@ -1,16 +1,3 @@ -diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh -index 3532c23114..25dfcae4c7 100644 ---- a/bin/internal/shared.sh -+++ b/bin/internal/shared.sh -@@ -229,8 +229,6 @@ function shared::execute() { - exit 1 - fi - -- upgrade_flutter 7< "$PROG_NAME" -- - BIN_NAME="$(basename "$PROG_NAME")" - case "$BIN_NAME" in - flutter*) diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart index b7e624b4e2..edfdde118b 100644 --- a/packages/flutter_tools/lib/src/runner/flutter_command.dart diff --git a/pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch b/pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch new file mode 100644 index 000000000000..be08c419fe1b --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_13/patches/disable-auto-update-shared.patch @@ -0,0 +1,13 @@ +diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh +index 3532c23114..25dfcae4c7 100644 +--- a/bin/internal/shared.sh ++++ b/bin/internal/shared.sh +@@ -229,8 +229,6 @@ function shared::execute() { + exit 1 + fi + +- upgrade_flutter 7< "$PROG_NAME" +- + BIN_NAME="$(basename "$PROG_NAME")" + case "$BIN_NAME" in + flutter*) diff --git a/pkgs/development/compilers/flutter/versions/3_16/data.json b/pkgs/development/compilers/flutter/versions/3_16/data.json new file mode 100644 index 000000000000..100b2bd427d4 --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_16/data.json @@ -0,0 +1,951 @@ +{ + "version": "3.16.7", + "engineVersion": "4a585b79294e830fa89c24924d58a27cc8fbf406", + "dartVersion": "3.2.4", + "dartHash": { + "x86_64-linux": "sha256-qslf+wgmNz9r+e45o3Bg9/vDj75GkM9gQE2tb5rbIvw=", + "aarch64-linux": "sha256-Wsm8GKi7PR5iGx/lNtp2qBK+lMk2NIHf/RvO5G94QnQ=", + "x86_64-darwin": "sha256-8DXMj0yhKpxHdqS0vr5C/RwhQGxvUmvxJA6mOgqBXU8=", + "aarch64-darwin": "sha256-ic6txmbhsv4CarUwG+4xqXsaQrMN4AQrWwg8DxsZGps=" + }, + "flutterHash": "sha256-j+tc8hMgZMBhju89n4e9tKRrq+CFBGOyeE0y+Z4FtHE=", + "artifactHashes": { + "android": { + "aarch64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=", + "x86_64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=", + "x86_64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=" + }, + "fuchsia": { + "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" + }, + "ios": { + "aarch64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", + "x86_64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", + "x86_64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=" + }, + "linux": { + "aarch64-linux": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=", + "x86_64-darwin": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=", + "x86_64-linux": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=" + }, + "macos": { + "aarch64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", + "x86_64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", + "x86_64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=" + }, + "universal": { + "aarch64-linux": "sha256-uB2YZRjioP/koMbPvaBHsezjPO0w5a+BpxZaDuiINIY=", + "x86_64-darwin": "sha256-Qwf12gMqrW5nDC9Is08oxWTbKMptRQRAIb58JETq3xA=", + "x86_64-linux": "sha256-quSFKx7TZRJpK+4YDt5f9jwr7rZsSsaXMxhJ8vIcczQ=" + }, + "web": { + "aarch64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", + "x86_64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", + "x86_64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=" + }, + "windows": { + "aarch64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", + "x86_64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", + "x86_64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=" + } + }, + "pubspecLock": { + "packages": { + "_fe_analyzer_shared": { + "dependency": "direct main", + "description": { + "name": "_fe_analyzer_shared", + "sha256": "eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "64.0.0" + }, + "analyzer": { + "dependency": "direct main", + "description": { + "name": "analyzer", + "sha256": "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.2.0" + }, + "archive": { + "dependency": "direct main", + "description": { + "name": "archive", + "sha256": "80e5141fafcb3361653ce308776cfd7d45e6e9fbb429e14eec571382c0c5fecb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.3.2" + }, + "args": { + "dependency": "direct main", + "description": { + "name": "args", + "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.2" + }, + "async": { + "dependency": "direct main", + "description": { + "name": "async", + "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.11.0" + }, + "boolean_selector": { + "dependency": "direct main", + "description": { + "name": "boolean_selector", + "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "browser_launcher": { + "dependency": "direct main", + "description": { + "name": "browser_launcher", + "sha256": "6ee4c6b1f68a42e769ef6e663c4f56708522f7bce9d2ab6e308a37b612ffa4ec", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "built_collection": { + "dependency": "direct main", + "description": { + "name": "built_collection", + "sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.1.1" + }, + "built_value": { + "dependency": "direct main", + "description": { + "name": "built_value", + "sha256": "a8de5955205b4d1dbbbc267daddf2178bd737e4bab8987c04a500478c9651e74", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "8.6.3" + }, + "checked_yaml": { + "dependency": "direct dev", + "description": { + "name": "checked_yaml", + "sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.3" + }, + "cli_config": { + "dependency": "direct main", + "description": { + "name": "cli_config", + "sha256": "76910209e4aee158f5e26721509c98d7cbb97085da637f62b7c461298033752d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.1.1" + }, + "clock": { + "dependency": "direct main", + "description": { + "name": "clock", + "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.1" + }, + "collection": { + "dependency": "direct dev", + "description": { + "name": "collection", + "sha256": "ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.18.0" + }, + "completion": { + "dependency": "direct main", + "description": { + "name": "completion", + "sha256": "f11b7a628e6c42b9edc9b0bc3aa490e2d930397546d2f794e8e1325909d11c60", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.1" + }, + "convert": { + "dependency": "direct main", + "description": { + "name": "convert", + "sha256": "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.1" + }, + "coverage": { + "dependency": "direct main", + "description": { + "name": "coverage", + "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.3" + }, + "crypto": { + "dependency": "direct main", + "description": { + "name": "crypto", + "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.3" + }, + "csslib": { + "dependency": "direct main", + "description": { + "name": "csslib", + "sha256": "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.0" + }, + "dap": { + "dependency": "direct main", + "description": { + "name": "dap", + "sha256": "1dc9a11bc60836b151672d3edb6a56a18383ecf122e56eaf5837b32c81641aeb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "dds": { + "dependency": "direct main", + "description": { + "name": "dds", + "sha256": "b7c2e57d24edda6b1d37fbd0748aefc1d75d9257a7dd0328d31398754144eac4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.9.5" + }, + "dds_service_extensions": { + "dependency": "direct main", + "description": { + "name": "dds_service_extensions", + "sha256": "609d0a5d928502f7d160e4466f644474352721f4880c840ec9e8d208fff16d95", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.6.0" + }, + "devtools_shared": { + "dependency": "direct main", + "description": { + "name": "devtools_shared", + "sha256": "2fc4a90ba419b5cb59c6c7a060e94e9c4fdd993d96ef598910c572cb107f1f42", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.26.1" + }, + "dwds": { + "dependency": "direct main", + "description": { + "name": "dwds", + "sha256": "44778de6f92203fad32c550ca0d7a9bd1377e6926272ff7eda7c7a1bdde0cf2b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "21.0.0+1" + }, + "fake_async": { + "dependency": "direct main", + "description": { + "name": "fake_async", + "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.1" + }, + "file": { + "dependency": "direct main", + "description": { + "name": "file", + "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.1.4" + }, + "file_testing": { + "dependency": "direct dev", + "description": { + "name": "file_testing", + "sha256": "0aaadb4025bd350403f4308ad6c4cea953278d9407814b8342558e4946840fb5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.0" + }, + "fixnum": { + "dependency": "direct main", + "description": { + "name": "fixnum", + "sha256": "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "flutter_template_images": { + "dependency": "direct main", + "description": { + "name": "flutter_template_images", + "sha256": "fd3e55af73c577b9e3f88d4080d3e366cb5c8ef3fbd50b94dfeca56bb0235df6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.0" + }, + "frontend_server_client": { + "dependency": "direct main", + "description": { + "name": "frontend_server_client", + "sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.0" + }, + "glob": { + "dependency": "direct main", + "description": { + "name": "glob", + "sha256": "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "graphs": { + "dependency": "direct main", + "description": { + "name": "graphs", + "sha256": "aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.3.1" + }, + "html": { + "dependency": "direct main", + "description": { + "name": "html", + "sha256": "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.15.4" + }, + "http": { + "dependency": "direct main", + "description": { + "name": "http", + "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.13.6" + }, + "http_multi_server": { + "dependency": "direct main", + "description": { + "name": "http_multi_server", + "sha256": "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.2.1" + }, + "http_parser": { + "dependency": "direct main", + "description": { + "name": "http_parser", + "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.0.2" + }, + "intl": { + "dependency": "direct main", + "description": { + "name": "intl", + "sha256": "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.18.1" + }, + "io": { + "dependency": "direct main", + "description": { + "name": "io", + "sha256": "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "js": { + "dependency": "direct main", + "description": { + "name": "js", + "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.7" + }, + "json_annotation": { + "dependency": "direct dev", + "description": { + "name": "json_annotation", + "sha256": "b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.8.1" + }, + "json_rpc_2": { + "dependency": "direct main", + "description": { + "name": "json_rpc_2", + "sha256": "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "logging": { + "dependency": "direct main", + "description": { + "name": "logging", + "sha256": "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "matcher": { + "dependency": "direct main", + "description": { + "name": "matcher", + "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.12.16" + }, + "meta": { + "dependency": "direct main", + "description": { + "name": "meta", + "sha256": "a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.0" + }, + "mime": { + "dependency": "direct main", + "description": { + "name": "mime", + "sha256": "e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "multicast_dns": { + "dependency": "direct main", + "description": { + "name": "multicast_dns", + "sha256": "f4fd1c3365171fac5160afcb1a283001d3413dee5fd41c61d80888952d609379", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.2+4" + }, + "mustache_template": { + "dependency": "direct main", + "description": { + "name": "mustache_template", + "sha256": "a46e26f91445bfb0b60519be280555b06792460b27b19e2b19ad5b9740df5d1c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.0" + }, + "native_assets_builder": { + "dependency": "direct main", + "description": { + "name": "native_assets_builder", + "sha256": "83e92c0f4917cfea0af594aac9ab5ee7d396fbcee1c19839ff33b8e1666cd84e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.3" + }, + "native_assets_cli": { + "dependency": "direct main", + "description": { + "name": "native_assets_cli", + "sha256": "51d1af3ebc2437f5883ed749f1877cb82d6a569b0712dad02c8370e6e4f2b5e3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.0" + }, + "native_stack_traces": { + "dependency": "direct main", + "description": { + "name": "native_stack_traces", + "sha256": "c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.6" + }, + "node_preamble": { + "dependency": "direct dev", + "description": { + "name": "node_preamble", + "sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.0.2" + }, + "package_config": { + "dependency": "direct main", + "description": { + "name": "package_config", + "sha256": "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, + "path": { + "dependency": "direct main", + "description": { + "name": "path", + "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.8.3" + }, + "petitparser": { + "dependency": "direct main", + "description": { + "name": "petitparser", + "sha256": "eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.0.1" + }, + "platform": { + "dependency": "direct main", + "description": { + "name": "platform", + "sha256": "ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "pool": { + "dependency": "direct main", + "description": { + "name": "pool", + "sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.5.1" + }, + "process": { + "dependency": "direct main", + "description": { + "name": "process", + "sha256": "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.2.4" + }, + "pub_semver": { + "dependency": "direct main", + "description": { + "name": "pub_semver", + "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.4" + }, + "pubspec_parse": { + "dependency": "direct dev", + "description": { + "name": "pubspec_parse", + "sha256": "c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.3" + }, + "shelf": { + "dependency": "direct main", + "description": { + "name": "shelf", + "sha256": "ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.4.1" + }, + "shelf_packages_handler": { + "dependency": "direct main", + "description": { + "name": "shelf_packages_handler", + "sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "shelf_proxy": { + "dependency": "direct main", + "description": { + "name": "shelf_proxy", + "sha256": "a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "shelf_static": { + "dependency": "direct main", + "description": { + "name": "shelf_static", + "sha256": "a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.2" + }, + "shelf_web_socket": { + "dependency": "direct main", + "description": { + "name": "shelf_web_socket", + "sha256": "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.0.4" + }, + "source_map_stack_trace": { + "dependency": "direct main", + "description": { + "name": "source_map_stack_trace", + "sha256": "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + }, + "source_maps": { + "dependency": "direct main", + "description": { + "name": "source_maps", + "sha256": "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.10.12" + }, + "source_span": { + "dependency": "direct main", + "description": { + "name": "source_span", + "sha256": "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.10.0" + }, + "sse": { + "dependency": "direct main", + "description": { + "name": "sse", + "sha256": "3ff9088cac3f45aa8b91336f1962e3ea6c81baaba0bbba361c05f8aa7fb59442", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.2" + }, + "stack_trace": { + "dependency": "direct main", + "description": { + "name": "stack_trace", + "sha256": "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.11.1" + }, + "standard_message_codec": { + "dependency": "direct main", + "description": { + "name": "standard_message_codec", + "sha256": "fc7dd712d191b7e33196a0ecf354c4573492bb95995e7166cb6f73b047f9cae0", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.0.1+4" + }, + "stream_channel": { + "dependency": "direct main", + "description": { + "name": "stream_channel", + "sha256": "ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.2" + }, + "string_scanner": { + "dependency": "direct main", + "description": { + "name": "string_scanner", + "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.0" + }, + "sync_http": { + "dependency": "direct main", + "description": { + "name": "sync_http", + "sha256": "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.3.1" + }, + "term_glyph": { + "dependency": "direct main", + "description": { + "name": "term_glyph", + "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "test": { + "dependency": "direct dev", + "description": { + "name": "test", + "sha256": "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.24.6" + }, + "test_api": { + "dependency": "direct main", + "description": { + "name": "test_api", + "sha256": "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.6.1" + }, + "test_core": { + "dependency": "direct main", + "description": { + "name": "test_core", + "sha256": "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.5.6" + }, + "typed_data": { + "dependency": "direct main", + "description": { + "name": "typed_data", + "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.3.2" + }, + "unified_analytics": { + "dependency": "direct main", + "description": { + "name": "unified_analytics", + "sha256": "fbcb0ad896a15c1ddea7ec45e8bfc92a894490e5792e07b74b2e6e992f4c77f8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "5.8.0" + }, + "usage": { + "dependency": "direct main", + "description": { + "name": "usage", + "sha256": "0bdbde65a6e710343d02a56552eeaefd20b735e04bfb6b3ee025b6b22e8d0e15", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "4.1.1" + }, + "uuid": { + "dependency": "direct main", + "description": { + "name": "uuid", + "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.7" + }, + "vm_service": { + "dependency": "direct main", + "description": { + "name": "vm_service", + "sha256": "c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "11.10.0" + }, + "vm_snapshot_analysis": { + "dependency": "direct main", + "description": { + "name": "vm_snapshot_analysis", + "sha256": "5a79b9fbb6be2555090f55b03b23907e75d44c3fd7bdd88da09848aa5a1914c8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.7.6" + }, + "watcher": { + "dependency": "direct main", + "description": { + "name": "watcher", + "sha256": "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.1.0" + }, + "web_socket_channel": { + "dependency": "direct main", + "description": { + "name": "web_socket_channel", + "sha256": "d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.4.0" + }, + "webdriver": { + "dependency": "direct main", + "description": { + "name": "webdriver", + "sha256": "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.0.2" + }, + "webkit_inspection_protocol": { + "dependency": "direct main", + "description": { + "name": "webkit_inspection_protocol", + "sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "1.2.1" + }, + "xml": { + "dependency": "direct main", + "description": { + "name": "xml", + "sha256": "af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "6.4.2" + }, + "yaml": { + "dependency": "direct main", + "description": { + "name": "yaml", + "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "3.1.2" + }, + "yaml_edit": { + "dependency": "direct main", + "description": { + "name": "yaml_edit", + "sha256": "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.1" + } + }, + "sdks": { + "dart": ">=3.2.0-36.0.dev <4.0.0" + } + } +} diff --git a/pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch b/pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch new file mode 100644 index 000000000000..961b41f7327c --- /dev/null +++ b/pkgs/development/compilers/flutter/versions/3_16/patches/disable-auto-update-shared.patch @@ -0,0 +1,13 @@ +diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh +index 75d9d3013e..657ad3cb78 100644 +--- a/bin/internal/shared.sh ++++ b/bin/internal/shared.sh +@@ -245,7 +245,7 @@ function shared::execute() { + # and will corrupt each others' downloads. + # + # SHARED_NAME itself is prepared by the caller script. +- upgrade_flutter 7< "$SHARED_NAME" ++ # upgrade_flutter 7< "$SHARED_NAME" + + BIN_NAME="$(basename "$PROG_NAME")" + case "$BIN_NAME" in diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f701ebdc5eef..3839cfee3390 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15807,6 +15807,7 @@ with pkgs; flutterPackages = recurseIntoAttrs (callPackage ../development/compilers/flutter { }); flutter = flutterPackages.stable; + flutter316 = flutterPackages.v3_16; flutter313 = flutterPackages.v3_13; fnm = callPackage ../development/tools/fnm { From 5605734241056b8afe3f5e02bc960614916561d0 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Tue, 9 Jan 2024 22:46:51 +0200 Subject: [PATCH 26/40] fluffychat: Lock to flutter 3.13 --- .../networking/instant-messengers/fluffychat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix index bfc175f797d7..bdd41c4cfa64 100644 --- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix +++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix @@ -3,7 +3,7 @@ , imagemagick , mesa , libdrm -, flutter +, flutter313 , pulseaudio , makeDesktopItem , gnome @@ -12,7 +12,7 @@ let libwebrtcRpath = lib.makeLibraryPath [ mesa libdrm ]; in -flutter.buildFlutterApplication rec { +flutter313.buildFlutterApplication rec { pname = "fluffychat"; version = "1.14.1"; From f68d55bc959527fd7d8ae3e0130e2e9169e62086 Mon Sep 17 00:00:00 2001 From: FlafyDev Date: Tue, 9 Jan 2024 22:47:05 +0200 Subject: [PATCH 27/40] localsend: Lock to flutter 3.13 --- pkgs/applications/networking/localsend/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/localsend/default.nix b/pkgs/applications/networking/localsend/default.nix index c5a6d5f3f913..c5a3a4c9cda5 100644 --- a/pkgs/applications/networking/localsend/default.nix +++ b/pkgs/applications/networking/localsend/default.nix @@ -2,7 +2,7 @@ , stdenv , fetchurl , fetchFromGitHub -, flutter +, flutter313 , makeDesktopItem , pkg-config , libayatana-appindicator @@ -13,7 +13,7 @@ let pname = "localsend"; version = "1.12.0"; - linux = flutter.buildFlutterApplication { + linux = flutter313.buildFlutterApplication { inherit pname version; src = fetchFromGitHub { From 109305abd0e2a8b3dfcec5cbe0bcccc2c161bc90 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 12 Jan 2024 19:53:54 -0500 Subject: [PATCH 28/40] aemu: restrict to supported platforms --- pkgs/development/libraries/aemu/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/aemu/default.nix b/pkgs/development/libraries/aemu/default.nix index 3ee8e5eca6f1..e2ea8e5b1cd5 100644 --- a/pkgs/development/libraries/aemu/default.nix +++ b/pkgs/development/libraries/aemu/default.nix @@ -28,6 +28,7 @@ stdenv.mkDerivation { # The BSD license comes from host-common/VpxFrameParser.cpp, which # incorporates some code from libvpx, which uses the 3-clause BSD license. license = with licenses; [ asl20 mit bsd3 ]; - platforms = platforms.darwin ++ platforms.linux; + # See base/include/aemu/base/synchronization/Lock.h + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; }; } From bc59f1626ef14a9dadfdebdd582116640bf831e1 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sat, 13 Jan 2024 18:47:39 -0500 Subject: [PATCH 29/40] gfxstream: inherit aemu platforms --- pkgs/development/libraries/gfxstream/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gfxstream/default.nix b/pkgs/development/libraries/gfxstream/default.nix index bb88fe9f8496..196bca7cdc5f 100644 --- a/pkgs/development/libraries/gfxstream/default.nix +++ b/pkgs/development/libraries/gfxstream/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation { description = "Graphics Streaming Kit"; license = licenses.free; # https://android.googlesource.com/platform/hardware/google/gfxstream/+/refs/heads/main/LICENSE maintainers = with maintainers; [ qyliss ]; - platforms = platforms.darwin ++ platforms.linux; + platforms = aemu.meta.platforms; }; } From a80424a7021b78792a43919016a88f6cfc282a76 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sat, 13 Jan 2024 18:44:58 -0500 Subject: [PATCH 30/40] rutabaga_gfx: add patch to make gfxstream optional --- .../libraries/rutabaga_gfx/default.nix | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/rutabaga_gfx/default.nix b/pkgs/development/libraries/rutabaga_gfx/default.nix index ca220bb6ecc4..63f1ed88ae6c 100644 --- a/pkgs/development/libraries/rutabaga_gfx/default.nix +++ b/pkgs/development/libraries/rutabaga_gfx/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchgit, cargo, pkg-config, rustPlatform -, aemu, gfxstream, libcap, libdrm, minijail +{ lib +, stdenv +, fetchgit +, fetchpatch +, cargo +, pkg-config +, rustPlatform +, aemu +, gfxstream +, libdrm }: stdenv.mkDerivation (finalAttrs: { @@ -13,9 +21,23 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-0RJDKzeU7U6hc6CLKks8QcRs3fxN+/LYUbB0t6W790M="; }; + patches = [ + # Make gfxstream optional + # https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4860836 + (fetchpatch { + url = "https://chromium.googlesource.com/crosvm/crosvm/+/c3ad0e43eb12cbf737a6049e0134d483e337363f%5E%21/?format=TEXT"; + decode = "base64 -d"; + hash = "sha256-Ji1bK7jnRlg0OpDfCLcTHfPSiz3zYcdgsWL4n3EoIYI="; + }) + ]; + nativeBuildInputs = [ cargo pkg-config rustPlatform.cargoSetupHook ]; - buildInputs = [ aemu gfxstream ] - ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform libdrm) libdrm; + buildInputs = lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ([ + aemu + gfxstream + ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ + libdrm + ]); cargoDeps = rustPlatform.fetchCargoTarball { inherit (finalAttrs) src; From 03ed7bac5baf7819882110ca9c3e659d00b18292 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 12 Jan 2024 19:58:34 -0500 Subject: [PATCH 31/40] qemu: enable rutabagaSupport only if rutabaga_gfx is available on host platform --- pkgs/applications/virtualization/qemu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 6ce3d47e1172..3debac4c6fb4 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -23,7 +23,7 @@ , cephSupport ? false, ceph , glusterfsSupport ? false, glusterfs, libuuid , openGLSupport ? sdlSupport, mesa, libepoxy, libdrm -, rutabagaSupport ? openGLSupport && !toolsOnly, rutabaga_gfx +, rutabagaSupport ? openGLSupport && !toolsOnly && lib.meta.availableOn stdenv.hostPlatform rutabaga_gfx, rutabaga_gfx , virglSupport ? openGLSupport, virglrenderer , libiscsiSupport ? !toolsOnly, libiscsi , smbdSupport ? false, samba From 7e7f99aa8ca1c480e5aae919b2918fef85da5e87 Mon Sep 17 00:00:00 2001 From: Emilio Ziniades Date: Sun, 14 Jan 2024 22:24:21 +0200 Subject: [PATCH 32/40] csharp-ls: add darwin platforms --- pkgs/development/tools/language-servers/csharp-ls/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/language-servers/csharp-ls/default.nix b/pkgs/development/tools/language-servers/csharp-ls/default.nix index cefb7a969a40..f354b3220fc7 100644 --- a/pkgs/development/tools/language-servers/csharp-ls/default.nix +++ b/pkgs/development/tools/language-servers/csharp-ls/default.nix @@ -20,7 +20,7 @@ buildDotnetGlobalTool rec { homepage = "https://github.com/razzmatazz/csharp-language-server"; changelog = "https://github.com/razzmatazz/csharp-language-server/releases/tag/v${version}"; license = licenses.mit; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ GaetanLepage ]; }; } From 939f41e18399f45e610ec6d3c752acc1ab3ee3d7 Mon Sep 17 00:00:00 2001 From: Patrick Widmer Date: Mon, 1 Jan 2024 10:00:31 +0100 Subject: [PATCH 33/40] hareThirdParty.hare-ssh: init at unstable-2023-11-16 --- .../hare-third-party/hare-ssh/default.nix | 31 +++++++++++++++++++ pkgs/top-level/hare-third-party.nix | 1 + 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/hare-third-party/hare-ssh/default.nix diff --git a/pkgs/development/hare-third-party/hare-ssh/default.nix b/pkgs/development/hare-third-party/hare-ssh/default.nix new file mode 100644 index 000000000000..d25669f36643 --- /dev/null +++ b/pkgs/development/hare-third-party/hare-ssh/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, hare, hareThirdParty, fetchFromSourcehut }: + +stdenv.mkDerivation (finalAttrs: { + pname = "hare-ssh"; + version = "unstable-2023-11-16"; + + src = fetchFromSourcehut { + owner = "~sircmpwn"; + repo = "hare-ssh"; + rev = "c6a39e37ba4a42721594e0a907fe016f8e2198a8"; + hash = "sha256-I43TLPoImBsvkgV3hDy9dw0pXVt4ezINnxFtEV9P2/M="; + }; + + nativeBuildInputs = [ hare ]; + + makeFlags = [ + "PREFIX=${builtins.placeholder "out"}" + "HARECACHE=.harecache" + ]; + + doCheck = true; + + meta = with lib; { + homepage = "https://git.sr.ht/~sircmpwn/hare-ssh/"; + description = "SSH client & server protocol implementation for Hare"; + license = with licenses; [ mpl20 ]; + maintainers = with maintainers; [ patwid ]; + + inherit (hare.meta) platforms badPlatforms; + }; +}) diff --git a/pkgs/top-level/hare-third-party.nix b/pkgs/top-level/hare-third-party.nix index 8cf7cc4a9d8e..96cd2e8e8604 100644 --- a/pkgs/top-level/hare-third-party.nix +++ b/pkgs/top-level/hare-third-party.nix @@ -8,5 +8,6 @@ in hare-compress = callPackage ../development/hare-third-party/hare-compress { }; hare-ev = callPackage ../development/hare-third-party/hare-ev { }; hare-json = callPackage ../development/hare-third-party/hare-json { }; + hare-ssh = callPackage ../development/hare-third-party/hare-ssh { }; hare-toml = callPackage ../development/hare-third-party/hare-toml { }; }) From f320925fc031967da1416b2c5762cae2335b1ee7 Mon Sep 17 00:00:00 2001 From: Julius de Bruijn Date: Mon, 15 Jan 2024 21:11:49 +0100 Subject: [PATCH 34/40] bcachefs-tools: 1.3.5 -> 1.4.1 --- pkgs/tools/filesystems/bcachefs-tools/Cargo.lock | 10 ---------- pkgs/tools/filesystems/bcachefs-tools/default.nix | 7 ++++--- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock b/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock index a99cd4744392..091f76071a2b 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock +++ b/pkgs/tools/filesystems/bcachefs-tools/Cargo.lock @@ -99,7 +99,6 @@ dependencies = [ "errno 0.2.8", "gag", "getset", - "itertools", "libc", "log", "parse-display", @@ -407,15 +406,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - [[package]] name = "lazy_static" version = "1.4.0" diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix index 8eed999ccfe8..17b438ac46b8 100644 --- a/pkgs/tools/filesystems/bcachefs-tools/default.nix +++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix @@ -24,14 +24,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "bcachefs-tools"; - version = "1.3.5"; + version = "1.4.1"; src = fetchFromGitHub { owner = "koverstreet"; repo = "bcachefs-tools"; rev = "v${finalAttrs.version}"; - hash = "sha256-Yq631LPpWal0hsEJS0dOtiox1295tYgUWJVIw+bsbnw="; + hash = "sha256-+KqTiIp9dIJWG2KvgvPwXC7p754XfgvKHjvwjCdbvCs="; }; nativeBuildInputs = [ @@ -69,7 +69,8 @@ stdenv.mkDerivation (finalAttrs: { checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ]; makeFlags = [ - "PREFIX=${placeholder "out"}" + "DESTDIR=${placeholder "out"}" + "PREFIX=" "VERSION=${finalAttrs.version}" "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" ]; From d7a058e6f74f03b72d3c85df8ffcf1edf2aab3e7 Mon Sep 17 00:00:00 2001 From: Mathew Polzin Date: Tue, 2 Jan 2024 10:38:06 -0600 Subject: [PATCH 35/40] idris2: add api package and buildIdris helper --- .../compilers/idris2/build-idris.nix | 73 ++++++++++++ pkgs/development/compilers/idris2/default.nix | 105 +++--------------- pkgs/development/compilers/idris2/idris2.nix | 97 ++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +- 4 files changed, 187 insertions(+), 92 deletions(-) create mode 100644 pkgs/development/compilers/idris2/build-idris.nix create mode 100644 pkgs/development/compilers/idris2/idris2.nix diff --git a/pkgs/development/compilers/idris2/build-idris.nix b/pkgs/development/compilers/idris2/build-idris.nix new file mode 100644 index 000000000000..c299128aa526 --- /dev/null +++ b/pkgs/development/compilers/idris2/build-idris.nix @@ -0,0 +1,73 @@ +{ stdenv, lib, idris2 +}: +# Usage: let +# pkg = idris2Packages.buildIdris { +# src = ...; +# projectName = "my-pkg"; +# idrisLibraries = [ ]; +# }; +# in { +# lib = pkg.library { withSource = true; }; +# bin = pkg.executable; +# } +# +{ src +, projectName +, idrisLibraries # Other libraries built with buildIdris +, ... }@attrs: + +let + ipkgName = projectName + ".ipkg"; + idrName = "idris2-${idris2.version}"; + libSuffix = "lib/${idrName}"; + libDirs = + lib.makeSearchPath libSuffix idrisLibraries; + drvAttrs = builtins.removeAttrs attrs [ "idrisLibraries" ]; + + sharedAttrs = { + name = projectName; + src = src; + nativeBuildInputs = [ idris2 ]; + + IDRIS2_PACKAGE_PATH = libDirs; + + configurePhase = '' + runHook preConfigure + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + idris2 --build ${ipkgName} + runHook postBuild + ''; + }; + +in { + executable = stdenv.mkDerivation (lib.attrsets.mergeAttrsList [ + sharedAttrs + { installPhase = '' + runHook preInstall + mkdir -p $out/bin + mv build/exec/* $out/bin + runHook postInstall + ''; + } + drvAttrs + ]); + library = { withSource ? false }: + let installCmd = if withSource then "--install-with-src" else "--install"; + in stdenv.mkDerivation (lib.attrsets.mergeAttrsList [ + sharedAttrs + { + installPhase = '' + runHook preInstall + mkdir -p $out/${libSuffix} + export IDRIS2_PREFIX=$out/lib + idris2 ${installCmd} ${ipkgName} + runHook postInstall + ''; + } + drvAttrs + ]); +} diff --git a/pkgs/development/compilers/idris2/default.nix b/pkgs/development/compilers/idris2/default.nix index 4bac5d33b1eb..8a2d28eb1ce0 100644 --- a/pkgs/development/compilers/idris2/default.nix +++ b/pkgs/development/compilers/idris2/default.nix @@ -1,97 +1,20 @@ -# Almost 1:1 copy of idris2's nix/platform.nix. Some work done in their flake.nix -# we do here instead. -{ stdenv -, lib -, chez -, chez-racket -, clang -, gmp -, fetchFromGitHub -, makeWrapper -, gambit -, nodejs -, zsh -, callPackage +{ callPackage +, idris2Packages }: -# NOTICE: An `idris2WithPackages` is available at: https://github.com/claymager/idris2-pkgs - let - # Taken from Idris2/idris2/flake.nix. Check if the idris2 project does it this - # way, still, every now and then. - platformChez = if stdenv.system == "x86_64-linux" then chez else chez-racket; -# Uses scheme to bootstrap the build of idris2 -in stdenv.mkDerivation rec { - pname = "idris2"; - version = "0.7.0"; +in { + idris2 = callPackage ./idris2.nix { }; - src = fetchFromGitHub { - owner = "idris-lang"; - repo = "Idris2"; - rev = "v${version}"; - sha256 = "sha256-VwveX3fZfrxEsytpbOc5Tm6rySpLFhTt5132J6rmrmM="; - }; + buildIdris = callPackage ./build-idris.nix { }; - strictDeps = true; - nativeBuildInputs = [ makeWrapper clang platformChez ] - ++ lib.optionals stdenv.isDarwin [ zsh ]; - buildInputs = [ platformChez gmp ]; - - prePatch = '' - patchShebangs --build tests - ''; - - makeFlags = [ "PREFIX=$(out)" ] - ++ lib.optional stdenv.isDarwin "OS="; - - # The name of the main executable of pkgs.chez is `scheme` - buildFlags = [ "bootstrap" "SCHEME=scheme" ]; - - checkTarget = "test"; - nativeCheckInputs = [ gambit nodejs ]; # racket ]; - checkFlags = [ "INTERACTIVE=" ]; - - # TODO: Move this into its own derivation, such that this can be changed - # without having to recompile idris2 every time. - postInstall = let - name = "${pname}-${version}"; - globalLibraries = [ - "\\$HOME/.nix-profile/lib/${name}" - "/run/current-system/sw/lib/${name}" - "$out/${name}" - ]; - globalLibrariesPath = builtins.concatStringsSep ":" globalLibraries; - in '' - # Remove existing idris2 wrapper that sets incorrect LD_LIBRARY_PATH - rm $out/bin/idris2 - # The only thing we need from idris2_app is the actual binary - mv $out/bin/idris2_app/idris2.so $out/bin/idris2 - rm $out/bin/idris2_app/* - rmdir $out/bin/idris2_app - # idris2 needs to find scheme at runtime to compile - # idris2 installs packages with --install into the path given by - # IDRIS2_PREFIX. We set that to a default of ~/.idris2, to mirror the - # behaviour of the standard Makefile install. - # TODO: Make support libraries their own derivation such that - # overriding LD_LIBRARY_PATH is unnecessary - wrapProgram "$out/bin/idris2" \ - --set-default CHEZ "${platformChez}/bin/scheme" \ - --run 'export IDRIS2_PREFIX=''${IDRIS2_PREFIX-"$HOME/.idris2"}' \ - --suffix IDRIS2_LIBS ':' "$out/${name}/lib" \ - --suffix IDRIS2_DATA ':' "$out/${name}/support" \ - --suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}" \ - --suffix DYLD_LIBRARY_PATH ':' "$out/${name}/lib" \ - --suffix LD_LIBRARY_PATH ':' "$out/${name}/lib" - ''; - - # Run package tests - passthru.tests = callPackage ./tests.nix { inherit pname; }; - - meta = { - description = "A purely functional programming language with first class types"; - homepage = "https://github.com/idris-lang/Idris2"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ fabianhjr wchresta ]; - inherit (chez.meta) platforms; - }; + idris2Api = (idris2Packages.buildIdris { + inherit (idris2Packages.idris2) src; + projectName = "idris2api"; + idrisLibraries = [ ]; + preBuild = '' + export IDRIS2_PREFIX=$out/lib + make src/IdrisPaths.idr + ''; + }).library; } diff --git a/pkgs/development/compilers/idris2/idris2.nix b/pkgs/development/compilers/idris2/idris2.nix new file mode 100644 index 000000000000..fc72bffb3847 --- /dev/null +++ b/pkgs/development/compilers/idris2/idris2.nix @@ -0,0 +1,97 @@ +# Almost 1:1 copy of idris2's nix/package.nix. Some work done in their flake.nix +# we do here instead. +{ stdenv +, lib +, chez +, chez-racket +, clang +, gmp +, fetchFromGitHub +, makeWrapper +, gambit +, nodejs +, zsh +, callPackage +}: + +# NOTICE: An `idris2WithPackages` is available at: https://github.com/claymager/idris2-pkgs + +let + # Taken from Idris2/idris2/flake.nix. Check if the idris2 project does it this + # way, still, every now and then. + platformChez = if stdenv.system == "x86_64-linux" then chez else chez-racket; +# Uses scheme to bootstrap the build of idris2 +in stdenv.mkDerivation rec { + pname = "idris2"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "idris-lang"; + repo = "Idris2"; + rev = "v${version}"; + sha256 = "sha256-VwveX3fZfrxEsytpbOc5Tm6rySpLFhTt5132J6rmrmM="; + }; + + strictDeps = true; + nativeBuildInputs = [ makeWrapper clang platformChez ] + ++ lib.optionals stdenv.isDarwin [ zsh ]; + buildInputs = [ platformChez gmp ]; + + prePatch = '' + patchShebangs --build tests + ''; + + makeFlags = [ "PREFIX=$(out)" ] + ++ lib.optional stdenv.isDarwin "OS="; + + # The name of the main executable of pkgs.chez is `scheme` + buildFlags = [ "bootstrap" "SCHEME=scheme" ]; + + checkTarget = "test"; + nativeCheckInputs = [ gambit nodejs ]; # racket ]; + checkFlags = [ "INTERACTIVE=" ]; + + # TODO: Move this into its own derivation, such that this can be changed + # without having to recompile idris2 every time. + postInstall = let + name = "${pname}-${version}"; + globalLibraries = [ + "\\$HOME/.nix-profile/lib/${name}" + "/run/current-system/sw/lib/${name}" + "$out/${name}" + ]; + globalLibrariesPath = builtins.concatStringsSep ":" globalLibraries; + in '' + # Remove existing idris2 wrapper that sets incorrect LD_LIBRARY_PATH + rm $out/bin/idris2 + # The only thing we need from idris2_app is the actual binary + mv $out/bin/idris2_app/idris2.so $out/bin/idris2 + rm $out/bin/idris2_app/* + rmdir $out/bin/idris2_app + # idris2 needs to find scheme at runtime to compile + # idris2 installs packages with --install into the path given by + # IDRIS2_PREFIX. We set that to a default of ~/.idris2, to mirror the + # behaviour of the standard Makefile install. + # TODO: Make support libraries their own derivation such that + # overriding LD_LIBRARY_PATH is unnecessary + wrapProgram "$out/bin/idris2" \ + --set-default CHEZ "${platformChez}/bin/scheme" \ + --run 'export IDRIS2_PREFIX=''${IDRIS2_PREFIX-"$HOME/.idris2"}' \ + --suffix IDRIS2_LIBS ':' "$out/${name}/lib" \ + --suffix IDRIS2_DATA ':' "$out/${name}/support" \ + --suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}" \ + --suffix DYLD_LIBRARY_PATH ':' "$out/${name}/lib" \ + --suffix LD_LIBRARY_PATH ':' "$out/${name}/lib" + ''; + + # Run package tests + passthru.tests = callPackage ./tests.nix { inherit pname; }; + + meta = { + description = "A purely functional programming language with first class types"; + homepage = "https://github.com/idris-lang/Idris2"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fabianhjr wchresta ]; + inherit (chez.meta) platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eae59a992506..788af0b82343 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16379,7 +16379,9 @@ with pkgs; idris = idrisPackages.with-packages [ idrisPackages.base ] ; - idris2 = callPackage ../development/compilers/idris2 { }; + idris2Packages = recurseIntoAttrs (callPackage ../development/compilers/idris2 { }); + + inherit (idris2Packages) idris2; inherit (callPackage ../development/tools/database/indradb { }) indradb-server From ce58e0643bd5939a51f2de13b8987f6b1be4898a Mon Sep 17 00:00:00 2001 From: Mathew Polzin Date: Tue, 2 Jan 2024 19:04:10 -0600 Subject: [PATCH 36/40] doc: idris2 section --- doc/languages-frameworks/idris2.section.md | 47 ++++++++++++++++++++++ doc/languages-frameworks/index.md | 1 + 2 files changed, 48 insertions(+) create mode 100644 doc/languages-frameworks/idris2.section.md diff --git a/doc/languages-frameworks/idris2.section.md b/doc/languages-frameworks/idris2.section.md new file mode 100644 index 000000000000..47bcbf46aee9 --- /dev/null +++ b/doc/languages-frameworks/idris2.section.md @@ -0,0 +1,47 @@ +# Idris2 {#sec-idris2} + +In addition to exposing the Idris2 compiler itself, Nixpkgs exposes an `idris2Packages.buildIdris` helper to make it a bit more ergonomic to build Idris2 executables or libraries. + +The `buildIdris` function takes a package set that defines at a minimum the `src` and `projectName` of the package to be built and any `idrisLibraries` required to build it. The `src` is the same source you're familiar with but the `projectName` must be the name of the `ipkg` file for the project (omitting the `.ipkg` extension). The `idrisLibraries` is a list of other library derivations created with `buildIdris`. You can optionally specify other derivation properties as needed but sensible defaults for `configurePhase`, `buildPhase`, and `installPhase` are provided. + +Importantly, `buildIdris` does not create a single derivation but rather an attribute set with two properties: `executable` and `library`. The `executable` property is a derivation and the `library` property is a function that will return a derivation for the library with or without source code included. Source code need not be included unless you are aiming to use IDE or LSP features that are able to jump to definitions within an editor. + +A simple example of a fully packaged library would be the [`LSP-lib`](https://github.com/idris-community/LSP-lib) found in the `idris-community` GitHub organization. +```nix +{ fetchFromGitHub, idris2Packages }: +let lspLibPkg = idris2Packages.buildIdris { + projectName = "lsp-lib"; + src = fetchFromGitHub { + owner = "idris-community"; + repo = "LSP-lib"; + rev = "main"; + hash = "sha256-EvSyMCVyiy9jDZMkXQmtwwMoLaem1GsKVFqSGNNHHmY="; + }; + idrisLibraries = [ ]; +}; +in lspLibPkg.library +``` + +The above results in a derivation with the installed library results (with sourcecode). + +A slightly more involved example of a fully packaged executable would be the [`idris2-lsp`](https://github.com/idris-community/idris2-lsp) which is an Idris2 language server that uses the `LSP-lib` found above. +```nix +{ callPackage, fetchFromGitHub, idris2Packages }: + +# Assuming the previous example lives in `lsp-lib.nix`: +let lspLib = callPackage ./lsp-lib.nix { }; + lspPkg = idris2Packages.buildIdris { + projectName = "idris2-lsp"; + src = fetchFromGitHub { + owner = "idris-community"; + repo = "idris2-lsp"; + rev = "main"; + hash = "sha256-vQTzEltkx7uelDtXOHc6QRWZ4cSlhhm5ziOqWA+aujk="; + }; + idrisLibraries = [(idris2Packages.idris2Api { }) (lspLib { })]; + }; +in lspPkg.executable +``` + +The above uses the default value of `withSource = false` for both of the two required Idris libraries that the `idris2-lsp` executable depends on. `idris2Api` in the above derivation comes built in with `idris2Packages`. This library exposes many of the otherwise internal APIs of the Idris2 compiler. + diff --git a/doc/languages-frameworks/index.md b/doc/languages-frameworks/index.md index f177de507841..67107fb5b687 100644 --- a/doc/languages-frameworks/index.md +++ b/doc/languages-frameworks/index.md @@ -21,6 +21,7 @@ go.section.md haskell.section.md hy.section.md idris.section.md +idris2.section.md ios.section.md java.section.md javascript.section.md From f3c916f9090dc461c59f807ddcd756ca43a166cd Mon Sep 17 00:00:00 2001 From: Mathew Polzin Date: Mon, 15 Jan 2024 18:20:58 -0600 Subject: [PATCH 37/40] idris2: add mattpolzin as a maintainer --- pkgs/development/compilers/idris2/idris2.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/idris2/idris2.nix b/pkgs/development/compilers/idris2/idris2.nix index fc72bffb3847..88c4d05703cf 100644 --- a/pkgs/development/compilers/idris2/idris2.nix +++ b/pkgs/development/compilers/idris2/idris2.nix @@ -91,7 +91,7 @@ in stdenv.mkDerivation rec { description = "A purely functional programming language with first class types"; homepage = "https://github.com/idris-lang/Idris2"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ fabianhjr wchresta ]; + maintainers = with lib.maintainers; [ fabianhjr wchresta mattpolzin ]; inherit (chez.meta) platforms; }; } From b1dee748f2083588e233fedf582443845c025b79 Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Tue, 16 Jan 2024 04:45:47 +0000 Subject: [PATCH 38/40] maintainers: add a-n-n-a-l-e-e matrix account --- maintainers/maintainer-list.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b585d45fd8f1..dcf0af252f5c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1288,6 +1288,7 @@ a-n-n-a-l-e-e = { github = "a-n-n-a-l-e-e"; githubId = 150648636; + matrix = "@a-n-n-a-l-e-e:matrix.org"; name = "annalee"; }; anoa = { From 3ae6216c8ef833a155f7d08b6c47c2ff9be687b2 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 9 Jan 2024 08:40:07 +0100 Subject: [PATCH 39/40] ocamlPackages.msat: init at 0.9.1 --- .../ocaml-modules/msat/default.nix | 36 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/ocaml-modules/msat/default.nix diff --git a/pkgs/development/ocaml-modules/msat/default.nix b/pkgs/development/ocaml-modules/msat/default.nix new file mode 100644 index 000000000000..d5893dc55e04 --- /dev/null +++ b/pkgs/development/ocaml-modules/msat/default.nix @@ -0,0 +1,36 @@ +{ lib, fetchFromGitHub, buildDunePackage +, iter +, containers +, mdx +}: + +buildDunePackage rec { + pname = "msat"; + version = "0.9.1"; + + src = fetchFromGitHub { + owner = "Gbury"; + repo = "mSAT"; + rev = "v${version}"; + hash = "sha256-ER7ZUejW+Zy3l2HIoFDYbR8iaKMvLZWaeWrOAAYXjG4="; + }; + + propagatedBuildInputs = [ + iter + ]; + + postPatch = '' + substituteInPlace dune --replace mdx ocaml-mdx + ''; + + doCheck = true; + checkInputs = [ containers ]; + nativeCheckInputs = [ mdx.bin ]; + + meta = { + description = "A modular sat/smt solver with proof output."; + homepage = "https://gbury.github.io/mSAT/"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.vbgl ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 317ecf9f3eeb..b31932759c85 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1174,6 +1174,8 @@ let mrmime = callPackage ../development/ocaml-modules/mrmime { }; + msat = callPackage ../development/ocaml-modules/msat { }; + mtime_1 = callPackage ../development/ocaml-modules/mtime/1_x.nix { }; mtime = callPackage ../development/ocaml-modules/mtime { }; From 5223d1f86aab688bf05c6069b87be5f662d84eac Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 9 Jan 2024 08:40:19 +0100 Subject: [PATCH 40/40] msat: init at 0.9.1 --- pkgs/applications/science/logic/msat/default.nix | 13 +++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/applications/science/logic/msat/default.nix diff --git a/pkgs/applications/science/logic/msat/default.nix b/pkgs/applications/science/logic/msat/default.nix new file mode 100644 index 000000000000..dc2b1a221199 --- /dev/null +++ b/pkgs/applications/science/logic/msat/default.nix @@ -0,0 +1,13 @@ +{ lib, ocamlPackages }: + +with ocamlPackages; buildDunePackage { + pname = "msat-bin"; + + inherit (msat) version src; + + buildInputs = [ camlzip containers msat ]; + + meta = msat.meta // { + description = "SAT solver binary based on the msat library"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce439be8be16..d268f7b9bca9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39550,6 +39550,8 @@ with pkgs; monosat = callPackage ../applications/science/logic/monosat { }; + msat = callPackage ../applications/science/logic/msat { }; + nusmv = callPackage ../applications/science/logic/nusmv { }; nuXmv = callPackage ../applications/science/logic/nuXmv { };