diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/dart-sass')
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" |