tailwindcss_4: init at 4.0.4

This commit is contained in:
adamjhf
2025-02-08 09:19:22 +11:00
parent 75cc09d61c
commit 3af1bb5f9f
3 changed files with 96 additions and 0 deletions
@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchurl,
runCommand,
tailwindcss_4,
}:
let
version = "4.0.4";
inherit (stdenv.hostPlatform) system;
throwSystem = throw "tailwindcss has not been packaged for ${system} yet.";
plat =
{
aarch64-darwin = "macos-arm64";
aarch64-linux = "linux-arm64";
x86_64-darwin = "macos-x64";
x86_64-linux = "linux-x64";
}
.${system} or throwSystem;
hash =
{
aarch64-darwin = "sha256-hH9+h6jtXS9uT5mujDRTtjRM2onG8ZQsexOlMaIoXv4=";
aarch64-linux = "sha256-wFUHnzVrwg/NsWEKHXMvgHSX8AuXUgwcktBt8fahu3A=";
x86_64-darwin = "sha256-iMPHW3snWY9nWgRv6+0IS3Zh29LC0kYmzfwOcJM8xN0=";
x86_64-linux = "sha256-ni5tivbbuV3U31ydmd9jBLBd8dH3cAAPFwSHmRAXubQ=";
}
.${system} or throwSystem;
in
stdenv.mkDerivation {
inherit version;
pname = "tailwindcss_4";
src = fetchurl {
url =
"https://github.com/tailwindlabs/tailwindcss/releases/download/v${version}/tailwindcss-" + plat;
inherit hash;
};
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
dontFixup = true;
installPhase = ''
install -D $src $out/bin/tailwindcss
'';
passthru.tests.helptext = runCommand "tailwindcss-test-helptext" { } ''
${tailwindcss_4}/bin/tailwindcss --help > $out
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Command-line tool for the CSS framework with composable CSS classes, standalone v4 CLI";
homepage = "https://tailwindcss.com/blog/tailwindcss-v4";
license = licenses.mit;
sourceProvenance = [ sourceTypes.binaryNativeCode ];
maintainers = [ maintainers.adamjhf ];
mainProgram = "tailwindcss";
platforms = platforms.darwin ++ platforms.linux;
};
}
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused jq nix-prefetch
set -eou pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
CURRENT_VERSION=$(nix-instantiate --eval --strict --json -A tailwindcss.version . | jq -r .)
LATEST_VERSION=$(curl --fail --silent https://api.github.com/repos/tailwindlabs/tailwindcss/releases/latest | jq --raw-output .tag_name | sed 's/v//')
sed -i "s/version = \".*\"/version = \"${LATEST_VERSION}\"/" "$ROOT/default.nix"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
echo "tailwindcss already at latest version $CURRENT_VERSION, exiting"
exit 0
fi
function updatePlatform() {
NIXPLAT=$1
TAILWINDPLAT=$2
echo "Updating tailwindcss for $NIXPLAT"
URL="https://github.com/tailwindlabs/tailwindcss/releases/download/v${LATEST_VERSION}/tailwindcss-${TAILWINDPLAT}"
HASH=$(nix hash to-sri --type sha256 "$(nix-prefetch-url --type sha256 "$URL")")
sed -i "s,$NIXPLAT = \"sha256.*\",$NIXPLAT = \"${HASH}\"," "$ROOT/default.nix"
}
updatePlatform aarch64-darwin macos-arm64
updatePlatform aarch64-linux linux-arm64
updatePlatform x86_64-darwin macos-x64
updatePlatform x86_64-linux linux-x64
+2
View File
@@ -1085,6 +1085,8 @@ with pkgs;
tailwindcss = callPackage ../development/tools/tailwindcss { };
tailwindcss_4 = callPackage ../development/tools/tailwindcss_4 { };
ufolint = with python3Packages; toPythonApplication ufolint;
valeronoi = qt6Packages.callPackage ../tools/misc/valeronoi { };