56 if lib.hasPrefix "linux" suffix then
57 "ubuntu-22.04" + (lib.removePrefix "linux" suffix)
58 else if lib.hasPrefix "mac" suffix then
59 "mac-14" + (lib.removePrefix "mac" suffix)
62 libvpx' = libvpx.overrideAttrs (
63 finalAttrs: previousAttrs: {
65 src = fetchFromGitHub {
66 owner = "webmproject";
67 repo = finalAttrs.pname;
68 rev = "v${finalAttrs.version}";
69 sha256 = "sha256-9SFFE2GfYYMgxp1dpmL3STTU2ea1R5vFKA1L0pZwIvQ=";
73 libavif' = libavif.overrideAttrs (
74 finalAttrs: previousAttrs: {
76 src = fetchFromGitHub {
77 owner = "AOMediaCodec";
78 repo = finalAttrs.pname;
79 rev = "v${finalAttrs.version}";
80 hash = "sha256-ME/mkaHhFeHajTbc7zhg9vtf/8XgkgSRu9I/mlQXnds=";
86 libjxl' = libjxl.overrideAttrs (
87 finalAttrs: previousAttrs: {
89 src = fetchFromGitHub {
92 rev = "v${finalAttrs.version}";
93 hash = "sha256-I3PGgh0XqRkCFz7lUZ3Q4eU0+0GwaQcVb6t4Pru1kKo=";
94 fetchSubmodules = true;
97 # Add missing <atomic> content to fix gcc compilation for RISCV architecture
98 # https://github.com/libjxl/libjxl/pull/2211
100 url = "https://github.com/libjxl/libjxl/commit/22d12d74e7bc56b09cfb1973aa89ec8d714fa3fc.patch";
101 hash = "sha256-X4fbYTMS+kHfZRbeGzSdBW5jQKw8UN44FEyFRUtw0qo=";
109 "-DJPEGXL_FORCE_SYSTEM_BROTLI=ON"
110 "-DJPEGXL_FORCE_SYSTEM_HWY=ON"
111 "-DJPEGXL_FORCE_SYSTEM_GTEST=ON"
113 ++ lib.optionals stdenv.hostPlatform.isStatic [
116 ++ lib.optionals stdenv.hostPlatform.isAarch32 [
117 "-DJPEGXL_FORCE_NEON=ON"
121 webkit-linux = stdenv.mkDerivation {
122 name = "playwright-webkit";
124 url = "https://playwright.azureedge.net/builds/webkit/${revision}/webkit-${suffix'}.zip";
128 x86_64-linux = "sha256-jw/wQ2Ql7KNpquz5CK+Mo6nPcCbMf8jeSQT64Vt/sLs=";
129 aarch64-linux = "sha256-vKAvl1kMxTE4CsDryseWF5lxf2iYOYkHHXAdPCnfnHk=";
131 .${system} or throwSystem;
134 nativeBuildInputs = [
148 gst_all_1.gst-plugins-bad
149 gst_all_1.gst-plugins-base
182 patchelfFlags = [ "--no-clobber-old-sections" ];
186 # remove unused gtk browser
187 rm -rf $out/minibrowser-gtk
188 # remove bundled libs
189 rm -rf $out/minibrowser-wpe/sys
191 # TODO: still fails on ubuntu trying to find libEGL_mesa.so.0
192 wrapProgram $out/minibrowser-wpe/bin/MiniBrowser \
193 --prefix GIO_EXTRA_MODULES ":" "${glib-networking}/lib/gio/modules/" \
194 --prefix LD_LIBRARY_PATH ":" $out/minibrowser-wpe/lib
198 webkit-darwin = fetchzip {
199 url = "https://playwright.azureedge.net/builds/webkit/${revision}/webkit-${suffix'}.zip";
203 x86_64-darwin = "sha256-6GpzcA77TthcZEtAC7s3dVpnLk31atw7EPxKUZeC5i4=";
204 aarch64-darwin = "sha256-lDyeehVveciOsm4JZvz7CPphkl/ryRK1rz7DOcEDzYc=";
206 .${system} or throwSystem;
210 x86_64-linux = webkit-linux;
211 aarch64-linux = webkit-linux;
212 x86_64-darwin = webkit-darwin;
213 aarch64-darwin = webkit-darwin;
215 .${system} or throwSystem