evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / development / web / playwright / webkit.nix
blob5c8062bb6f7032731cb87d412218e498cabf4493
2   lib,
3   stdenv,
4   fetchzip,
5   fetchFromGitHub,
6   makeWrapper,
7   autoPatchelfHook,
8   patchelfUnstable,
10   at-spi2-atk,
11   cairo,
12   flite,
13   fontconfig,
14   freetype,
15   glib,
16   glib-networking,
17   gst_all_1,
18   harfbuzz,
19   harfbuzzFull,
20   icu70,
21   lcms,
22   libdrm,
23   libepoxy,
24   libevent,
25   libgcc,
26   libgcrypt,
27   libgpg-error,
28   libjpeg8,
29   libopus,
30   libpng,
31   libsoup_3,
32   libtasn1,
33   libvpx,
34   libwebp,
35   libwpe,
36   libwpe-fdo,
37   libxkbcommon,
38   libxml2,
39   libxslt,
40   mesa,
41   sqlite,
42   systemdLibs,
43   wayland-scanner,
44   woff2,
45   zlib,
46   suffix,
47   revision,
48   system,
49   throwSystem,
51 let
52   suffix' =
53     if lib.hasPrefix "linux" suffix then "ubuntu-22.04" + (lib.removePrefix "linux" suffix) else suffix;
54   libvpx' = libvpx.overrideAttrs (
55     finalAttrs: previousAttrs: {
56       version = "1.12.0";
57       src = fetchFromGitHub {
58         owner = "webmproject";
59         repo = finalAttrs.pname;
60         rev = "v${finalAttrs.version}";
61         sha256 = "sha256-9SFFE2GfYYMgxp1dpmL3STTU2ea1R5vFKA1L0pZwIvQ=";
62       };
63     }
64   );
67 stdenv.mkDerivation {
68   name = "playwright-webkit";
69   src = fetchzip {
70     url = "https://playwright.azureedge.net/builds/webkit/${revision}/webkit-${suffix'}.zip";
71     stripRoot = false;
72     hash =
73       {
74         x86_64-linux = "sha256-pHYGQYwu47jdOAD+/mLrP6Dd+2aDMHENddVwAu0uEfI=";
75         aarch64-linux = "sha256-0UeYWjeFnQ8yVa3juWg7Z7VF1GDbP4pJ9OUJRbv1OJw=";
76       }
77       .${system} or throwSystem;
78   };
80   nativeBuildInputs = [
81     autoPatchelfHook
82     patchelfUnstable
83     makeWrapper
84   ];
85   buildInputs = [
86     at-spi2-atk
87     cairo
88     flite
89     fontconfig.lib
90     freetype
91     glib
92     gst_all_1.gst-plugins-bad
93     gst_all_1.gst-plugins-base
94     gst_all_1.gstreamer
95     harfbuzz
96     harfbuzzFull
97     icu70
98     lcms
99     libdrm
100     libepoxy
101     libevent
102     libgcc.lib
103     libgcrypt
104     libgpg-error
105     libjpeg8
106     libopus
107     libpng
108     libsoup_3
109     libtasn1
110     libwebp
111     libwpe
112     libwpe-fdo
113     libvpx'
114     libxml2
115     libxslt
116     mesa
117     sqlite
118     systemdLibs
119     wayland-scanner
120     woff2.lib
121     libxkbcommon
122     zlib
123   ];
125   patchelfFlags = [ "--no-clobber-old-sections" ];
126   buildPhase = ''
127     cp -R . $out
129     # remove unused gtk browser
130     rm -rf $out/minibrowser-gtk
132     wrapProgram $out/minibrowser-wpe/bin/MiniBrowser \
133       --prefix GIO_EXTRA_MODULES ":" "${glib-networking}/lib/gio/modules/"
134   '';