btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / li / lightningcss / package.nix
blob21328f10946709cc8a5a32281f1c8a153fae9939
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , nix-update-script
6 }:
8 rustPlatform.buildRustPackage rec {
9   pname = "lightningcss";
10   version = "1.28.0";
12   src = fetchFromGitHub {
13     owner = "parcel-bundler";
14     repo = "lightningcss";
15     rev = "refs/tags/v${version}";
16     hash = "sha256-nW5tnHD5saY7KnccRg5NsszvrADd/tuoN7SWr7JYBVs=";
17   };
19   cargoHash = "sha256-He5lb5y3Zd1nygWJWZDzBq5avL81ZKoiZMxtxjKkU7I=";
21   patches = [
22     # Backport fix for build error for lightningcss-napi
23     # see https://github.com/parcel-bundler/lightningcss/pull/713
24     # FIXME: remove when merged upstream
25     ./0001-napi-fix-build-error-in-cargo-auditable.patch
26   ];
28   buildFeatures = [
29     "cli"
30   ];
32   cargoBuildFlags = [
33     "--lib"
34     "--bin=lightningcss"
35   ];
37   cargoTestFlags = [
38     "--lib"
39   ];
41   passthru.updateScript = nix-update-script {};
43   meta = {
44     description = "Extremely fast CSS parser, transformer, and minifier written in Rust";
45     homepage = "https://lightningcss.dev/";
46     changelog = "https://github.com/parcel-bundler/lightningcss/releases/tag/v${version}";
47     license = lib.licenses.mpl20;
48     maintainers = with lib.maintainers; [ johnrtitor toastal ];
49     mainProgram = "lightningcss";
50     platforms = lib.platforms.all;
51   };