about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/misc/dart-sass
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/dart-sass')
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dart-sass/default.nix64
-rw-r--r--nixpkgs/pkgs/development/tools/misc/dart-sass/pubspec.lock.json82
-rwxr-xr-xnixpkgs/pkgs/development/tools/misc/dart-sass/update.sh45
3 files changed, 121 insertions, 70 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/dart-sass/default.nix b/nixpkgs/pkgs/development/tools/misc/dart-sass/default.nix
index 14fef3a3306a..f4ca641267ff 100644
--- a/nixpkgs/pkgs/development/tools/misc/dart-sass/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/dart-sass/default.nix
@@ -10,22 +10,24 @@
 }:
 
 let
-  sass-language = fetchFromGitHub {
+  embedded-protocol-version = "2.4.0";
+
+  embedded-protocol = fetchFromGitHub {
     owner = "sass";
     repo = "sass";
-    rev = "refs/tags/embedded-protocol-2.3.0";
-    hash = "sha256-J2heASfIwj4lxjsRs/0zRHSaF2tij9bO7IgXp0u/eiI=";
+    rev = "refs/tags/embedded-protocol-${embedded-protocol-version}";
+    hash = "sha256-19YQTda5su2PI2vLzVRCn7fQoH5vEg3539gXEeLLvV8=";
   };
 in
 buildDartApplication rec {
   pname = "dart-sass";
-  version = "1.69.0";
+  version = "1.70.0";
 
   src = fetchFromGitHub {
     owner = "sass";
     repo = pname;
     rev = version;
-    hash = "sha256-kn3cwi1k2CkzbS+Q/JaYy8Nq3Ej0GyWifG1Bq5ZEVHA=";
+    hash = "sha256-JLVcoDAngP1y8EC4K6fIJdPu2Xm8LLAxUm8BTK5tSVk=";
   };
 
   pubspecLock = lib.importJSON ./pubspec.lock.json;
@@ -37,7 +39,7 @@ buildDartApplication rec {
 
   preConfigure = ''
     mkdir -p build
-    ln -s ${sass-language} build/language
+    ln -s ${embedded-protocol} build/language
     HOME="$TMPDIR" buf generate
   '';
 
@@ -51,31 +53,35 @@ buildDartApplication rec {
     maintainers = with maintainers; [ lelgenio ];
   };
 
-  passthru.tests = {
-    version = testers.testVersion {
-      package = dart-sass;
-      command = "dart-sass --version";
-    };
+  passthru = {
+    inherit embedded-protocol-version embedded-protocol;
+    updateScript = ./update.sh;
+    tests = {
+      version = testers.testVersion {
+        package = dart-sass;
+        command = "dart-sass --version";
+      };
 
-    simple = testers.testEqualContents {
-      assertion = "dart-sass compiles a basic scss file";
-      expected = writeText "expected" ''
-        body h1{color:#123}
-      '';
-      actual = runCommand "actual"
-        {
-          nativeBuildInputs = [ dart-sass ];
-          base = writeText "base" ''
-            body {
-              $color: #123;
-              h1 {
-                color: $color;
+      simple = testers.testEqualContents {
+        assertion = "dart-sass compiles a basic scss file";
+        expected = writeText "expected" ''
+          body h1{color:#123}
+        '';
+        actual = runCommand "actual"
+          {
+            nativeBuildInputs = [ dart-sass ];
+            base = writeText "base" ''
+              body {
+                $color: #123;
+                h1 {
+                  color: $color;
+                }
               }
-            }
-          '';
-        } ''
-        dart-sass --style=compressed $base > $out
-      '';
+            '';
+          } ''
+          dart-sass --style=compressed $base > $out
+        '';
+      };
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/dart-sass/pubspec.lock.json b/nixpkgs/pkgs/development/tools/misc/dart-sass/pubspec.lock.json
index 9654b26e6d52..820f44ac9f31 100644
--- a/nixpkgs/pkgs/development/tools/misc/dart-sass/pubspec.lock.json
+++ b/nixpkgs/pkgs/development/tools/misc/dart-sass/pubspec.lock.json
@@ -4,31 +4,31 @@
       "dependency": "transitive",
       "description": {
         "name": "_fe_analyzer_shared",
-        "sha256": "ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a",
+        "sha256": "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "61.0.0"
+      "version": "65.0.0"
     },
     "analyzer": {
       "dependency": "direct dev",
       "description": {
         "name": "analyzer",
-        "sha256": "ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562",
+        "sha256": "dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "5.13.0"
+      "version": "6.3.0"
     },
     "archive": {
       "dependency": "direct dev",
       "description": {
         "name": "archive",
-        "sha256": "e0902a06f0e00414e4e3438a084580161279f137aeb862274710f29ec10cf01e",
+        "sha256": "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.3.9"
+      "version": "3.4.10"
     },
     "args": {
       "dependency": "direct main",
@@ -84,11 +84,11 @@
       "dependency": "direct main",
       "description": {
         "name": "cli_pkg",
-        "sha256": "009e19944bbfb07c3b97f2f8c9941aa01ca70a7d3d0018e813303b4c3905c9b9",
+        "sha256": "7b088621eb3d486c17a4122389d8b3f36658450d5a405fa229166b1a71a7ce4a",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.5.0"
+      "version": "2.7.2"
     },
     "cli_repl": {
       "dependency": "direct main",
@@ -104,11 +104,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "cli_util",
-        "sha256": "b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7",
+        "sha256": "c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.4.0"
+      "version": "0.4.1"
     },
     "collection": {
       "dependency": "direct main",
@@ -134,11 +134,11 @@
       "dependency": "transitive",
       "description": {
         "name": "coverage",
-        "sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097",
+        "sha256": "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.6.3"
+      "version": "1.7.2"
     },
     "crypto": {
       "dependency": "direct dev",
@@ -164,21 +164,21 @@
       "dependency": "direct dev",
       "description": {
         "name": "dart_style",
-        "sha256": "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55",
+        "sha256": "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.3.2"
+      "version": "2.3.4"
     },
     "dartdoc": {
       "dependency": "direct dev",
       "description": {
         "name": "dartdoc",
-        "sha256": "d9bab893c9f42615f62bf2d3ff2b89d5905952d1d42cc7890003537249cb472e",
+        "sha256": "cbc4520cf486395741209693c3e7ef70653b1879b5a73e010815bf50431d330c",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "6.3.0"
+      "version": "8.0.3"
     },
     "ffi": {
       "dependency": "transitive",
@@ -234,11 +234,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "grinder",
-        "sha256": "48495acdb3df702c55c952c6536faf11631b8401a292eb0d182ef332fc568b56",
+        "sha256": "e1996e485d2b56bb164a8585679758d488fbf567273f51c432c8733fee1f6188",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.9.4"
+      "version": "0.9.5"
     },
     "html": {
       "dependency": "transitive",
@@ -314,11 +314,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "lints",
-        "sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452",
+        "sha256": "cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "2.1.1"
+      "version": "3.0.0"
     },
     "logging": {
       "dependency": "transitive",
@@ -334,31 +334,31 @@
       "dependency": "transitive",
       "description": {
         "name": "markdown",
-        "sha256": "acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd",
+        "sha256": "1b134d9f8ff2da15cb298efe6cd8b7d2a78958c1b00384ebcbdf13fe340a6c90",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "7.1.1"
+      "version": "7.2.1"
     },
     "matcher": {
       "dependency": "transitive",
       "description": {
         "name": "matcher",
-        "sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e",
+        "sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.12.16"
+      "version": "0.12.16+1"
     },
     "meta": {
       "dependency": "direct main",
       "description": {
         "name": "meta",
-        "sha256": "a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e",
+        "sha256": "d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.10.0"
+      "version": "1.11.0"
     },
     "mime": {
       "dependency": "transitive",
@@ -424,11 +424,11 @@
       "dependency": "direct main",
       "description": {
         "name": "path",
-        "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917",
+        "sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.8.3"
+      "version": "1.9.0"
     },
     "petitparser": {
       "dependency": "transitive",
@@ -444,11 +444,11 @@
       "dependency": "transitive",
       "description": {
         "name": "pointycastle",
-        "sha256": "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c",
+        "sha256": "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "3.7.3"
+      "version": "3.7.4"
     },
     "pool": {
       "dependency": "direct main",
@@ -474,11 +474,11 @@
       "dependency": "direct dev",
       "description": {
         "name": "protoc_plugin",
-        "sha256": "a800528e47f6efd31a57213dd11b6036f36cbd6677785742a2121e96f7c7a2b9",
+        "sha256": "fb0554851c9eca30bd18405fbbfe81e39166d4a2f0e5b770606fd69da3da0b2f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "21.1.1"
+      "version": "21.1.2"
     },
     "pub_api_client": {
       "dependency": "direct dev",
@@ -664,31 +664,31 @@
       "dependency": "direct dev",
       "description": {
         "name": "test",
-        "sha256": "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9",
+        "sha256": "694c108e13c6b35b15fcb0f8f03eddf8373f93b044c9497b5e81ce09f7381bda",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "1.24.6"
+      "version": "1.25.1"
     },
     "test_api": {
       "dependency": "transitive",
       "description": {
         "name": "test_api",
-        "sha256": "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b",
+        "sha256": "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.6.1"
+      "version": "0.7.0"
     },
     "test_core": {
       "dependency": "transitive",
       "description": {
         "name": "test_core",
-        "sha256": "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265",
+        "sha256": "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "0.5.6"
+      "version": "0.6.0"
     },
     "test_descriptor": {
       "dependency": "direct dev",
@@ -734,11 +734,11 @@
       "dependency": "transitive",
       "description": {
         "name": "vm_service",
-        "sha256": "c538be99af830f478718b51630ec1b6bee5e74e52c8a802d328d9e71d35d2583",
+        "sha256": "a2662fb1f114f4296cf3f5a50786a2d888268d7776cf681aa17d660ffa23b246",
         "url": "https://pub.dev"
       },
       "source": "hosted",
-      "version": "11.10.0"
+      "version": "14.0.0"
     },
     "watcher": {
       "dependency": "direct main",
@@ -792,6 +792,6 @@
     }
   },
   "sdks": {
-    "dart": ">=3.0.0 <4.0.0"
+    "dart": ">=3.1.0 <4.0.0"
   }
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/dart-sass/update.sh b/nixpkgs/pkgs/development/tools/misc/dart-sass/update.sh
new file mode 100755
index 000000000000..595349e1387c
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/misc/dart-sass/update.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p yq ripgrep common-updater-scripts dart
+
+set -xeu -o pipefail
+
+PACKAGE_DIR="$(realpath "$(dirname "$0")")"
+cd "$PACKAGE_DIR/.."
+while ! test -f default.nix; do cd .. ; done
+NIXPKGS_DIR="$PWD"
+
+dart_sass_version="$(
+  list-git-tags --url=https://github.com/sass/dart-sass \
+  | rg '^\d' \
+  | sort --version-sort \
+  | tail -n1
+)"
+
+embedded_protocol_version="$(
+  list-git-tags --url=https://github.com/sass/sass \
+  | rg '^embedded-protocol-(.*)' -r '$1' \
+  | sort --version-sort \
+  | tail -n1
+)"
+
+cd "$NIXPKGS_DIR"
+update-source-version dart-sass "$dart_sass_version"
+update-source-version dart-sass "$embedded_protocol_version" \
+  --version-key=embedded-protocol-version \
+  --source-key=embedded-protocol
+
+TMPDIR="$(mktemp -d)"
+cd "$TMPDIR"
+
+src="$(nix-build --no-link "$NIXPKGS_DIR" -A dart-sass.src)"
+cp $src/pubspec.* .
+
+# Maybe one day upstream will ship a pubspec.lock,
+# until then we must generate a fresh one
+if ! test -f pubspec.lock; then
+  dart pub update
+fi
+
+yq . pubspec.lock > "$PACKAGE_DIR/pubspec.lock.json"
+
+rm -rf "$TMPDIR"