From 57d4ad52cc6cf26d820b11456619c3efe2699b19 Mon Sep 17 00:00:00 2001 From: adamjhf Date: Sun, 16 Feb 2025 09:37:52 +1100 Subject: [PATCH 1/4] wrap program for dynamically linked libraries --- pkgs/by-name/ta/tailwindcss_4/package.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ta/tailwindcss_4/package.nix b/pkgs/by-name/ta/tailwindcss_4/package.nix index 9dfc8a3967b7..ba95c12a9576 100644 --- a/pkgs/by-name/ta/tailwindcss_4/package.nix +++ b/pkgs/by-name/ta/tailwindcss_4/package.nix @@ -3,6 +3,8 @@ stdenv, fetchurl, runCommand, + autoPatchelfHook, + makeWrapper, tailwindcss_4, }: let @@ -38,13 +40,23 @@ stdenv.mkDerivation { inherit hash; }; + nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; + buildInputs = [ makeWrapper ]; + dontUnpack = true; - dontConfigure = true; dontBuild = true; - dontFixup = true; + dontStrip = true; installPhase = '' - install -D $src $out/bin/tailwindcss + mkdir -p $out/bin + install -m755 $src $out/bin/tailwindcss + ''; + + # libstdc++.so.6 for @parcel/watcher + postFixup = '' + wrapProgram $out/bin/tailwindcss --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ stdenv.cc.cc.lib ] + } ''; passthru.tests.helptext = runCommand "tailwindcss-test-helptext" { } '' From 5be72c9adb9d3b21298a4e4ba74aec55351fdf7b Mon Sep 17 00:00:00 2001 From: adamjhf Date: Sun, 16 Feb 2025 10:10:10 +1100 Subject: [PATCH 2/4] re-add update.sh --- pkgs/by-name/ta/tailwindcss_4/update.sh | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pkgs/by-name/ta/tailwindcss_4/update.sh diff --git a/pkgs/by-name/ta/tailwindcss_4/update.sh b/pkgs/by-name/ta/tailwindcss_4/update.sh new file mode 100644 index 000000000000..bcf057e6e9b9 --- /dev/null +++ b/pkgs/by-name/ta/tailwindcss_4/update.sh @@ -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 From 1f9e6007cfad942b34d536e017a0e3955ab79b31 Mon Sep 17 00:00:00 2001 From: adamjhf Date: Sun, 16 Feb 2025 10:18:52 +1100 Subject: [PATCH 3/4] add maintainer --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a438077c23d9..b463474ccab5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -574,6 +574,11 @@ githubId = 2071575; name = "Adam C. Stephens"; }; + adamjhf = { + github = "adamjhf"; + githubId = 50264672; + name = "Adam Freeth"; + }; adamt = { email = "mail@adamtulinius.dk"; github = "adamtulinius"; From 9cd47749086722dfcd5c499a31810943277c260b Mon Sep 17 00:00:00 2001 From: adamjhf Date: Sun, 16 Feb 2025 10:49:57 +1100 Subject: [PATCH 4/4] add versionCheckHook --- pkgs/by-name/ta/tailwindcss_4/package.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ta/tailwindcss_4/package.nix b/pkgs/by-name/ta/tailwindcss_4/package.nix index ba95c12a9576..9c4128a4df5a 100644 --- a/pkgs/by-name/ta/tailwindcss_4/package.nix +++ b/pkgs/by-name/ta/tailwindcss_4/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchurl, - runCommand, + versionCheckHook, autoPatchelfHook, makeWrapper, tailwindcss_4, @@ -59,18 +59,20 @@ stdenv.mkDerivation { } ''; - passthru.tests.helptext = runCommand "tailwindcss-test-helptext" { } '' - ${tailwindcss_4}/bin/tailwindcss --help > $out - ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/tailwindcss"; + versionCheckProgramArg = "--help"; + passthru.updateScript = ./update.sh; - meta = with lib; { + meta = { 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 ]; + license = lib.licenses.mit; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + maintainers = [ lib.maintainers.adamjhf ]; mainProgram = "tailwindcss"; - platforms = platforms.darwin ++ platforms.linux; + platforms = lib.platforms.darwin ++ lib.platforms.linux; }; }