uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
234
pkgs/development/libraries/webkitgtk/default.nix
Normal file
234
pkgs/development/libraries/webkitgtk/default.nix
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, runCommand
|
||||
, fetchurl
|
||||
, perl
|
||||
, python3
|
||||
, ruby
|
||||
, bison
|
||||
, gperf
|
||||
, cmake
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gettext
|
||||
, gobject-introspection
|
||||
, libnotify
|
||||
, gnutls
|
||||
, libgcrypt
|
||||
, libgpg-error
|
||||
, gtk3
|
||||
, wayland
|
||||
, libwebp
|
||||
, libwpe
|
||||
, libwpe-fdo
|
||||
, enchant2
|
||||
, xorg
|
||||
, libxkbcommon
|
||||
, libepoxy
|
||||
, at-spi2-core
|
||||
, libxml2
|
||||
, libsoup
|
||||
, libsecret
|
||||
, libxslt
|
||||
, harfbuzz
|
||||
, libpthreadstubs
|
||||
, pcre
|
||||
, nettle
|
||||
, libtasn1
|
||||
, p11-kit
|
||||
, libidn
|
||||
, libedit
|
||||
, readline
|
||||
, apple_sdk
|
||||
, libGL
|
||||
, libGLU
|
||||
, mesa
|
||||
, libintl
|
||||
, lcms2
|
||||
, libmanette
|
||||
, openjpeg
|
||||
, geoclue2
|
||||
, sqlite
|
||||
, enableGLES ? true
|
||||
, gst-plugins-base
|
||||
, gst-plugins-bad
|
||||
, woff2
|
||||
, bubblewrap
|
||||
, libseccomp
|
||||
, systemd
|
||||
, xdg-dbus-proxy
|
||||
, substituteAll
|
||||
, glib
|
||||
, addOpenGLRunpath
|
||||
, enableGeoLocation ? true
|
||||
, withLibsecret ? true
|
||||
, systemdSupport ? stdenv.isLinux
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "webkitgtk";
|
||||
version = "2.36.3";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-cy/PjE7GRLjtKLRuu9fB66udngr+qb315dEnhq/EeNE=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isLinux [
|
||||
(substituteAll {
|
||||
src = ./fix-bubblewrap-paths.patch;
|
||||
inherit (builtins) storeDir;
|
||||
inherit (addOpenGLRunpath) driverLink;
|
||||
})
|
||||
|
||||
./libglvnd-headers.patch
|
||||
|
||||
# Hardcode path to WPE backend
|
||||
# https://github.com/NixOS/nixpkgs/issues/110468
|
||||
(substituteAll {
|
||||
src = ./fdo-backend-path.patch;
|
||||
wpebackend_fdo = libwpe-fdo;
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||
# Ignore gettext in cmake_prefix_path so that find_program doesn't
|
||||
# pick up the wrong gettext. TODO: Find a better solution for
|
||||
# this, maybe make cmake not look up executables in
|
||||
# CMAKE_PREFIX_PATH.
|
||||
cmakeFlags+=" -DCMAKE_IGNORE_PATH=${lib.getBin gettext}/bin"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
cmake
|
||||
gettext
|
||||
gobject-introspection
|
||||
gperf
|
||||
ninja
|
||||
perl
|
||||
perl.pkgs.FileCopyRecursive # used by copy-user-interface-resources.pl
|
||||
pkg-config
|
||||
python3
|
||||
ruby
|
||||
glib # for gdbus-codegen
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
wayland # for wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
at-spi2-core
|
||||
enchant2
|
||||
libepoxy
|
||||
gnutls
|
||||
gst-plugins-bad
|
||||
gst-plugins-base
|
||||
harfbuzz
|
||||
libGL
|
||||
libGLU
|
||||
mesa # for libEGL headers
|
||||
libgcrypt
|
||||
libgpg-error
|
||||
libidn
|
||||
libintl
|
||||
lcms2
|
||||
libnotify
|
||||
libpthreadstubs
|
||||
libtasn1
|
||||
libwebp
|
||||
libxkbcommon
|
||||
libxml2
|
||||
libxslt
|
||||
nettle
|
||||
openjpeg
|
||||
p11-kit
|
||||
pcre
|
||||
sqlite
|
||||
woff2
|
||||
] ++ (with xorg; [
|
||||
libXdamage
|
||||
libXdmcp
|
||||
libXt
|
||||
libXtst
|
||||
]) ++ lib.optionals stdenv.isDarwin [
|
||||
libedit
|
||||
readline
|
||||
] ++ lib.optional (stdenv.isDarwin && !stdenv.isAarch64) (
|
||||
# Pull a header that contains a definition of proc_pid_rusage().
|
||||
# (We pick just that one because using the other headers from `sdk` is not
|
||||
# compatible with our C++ standard library. This header is already in
|
||||
# the standard library on aarch64)
|
||||
runCommand "${pname}_headers" { } ''
|
||||
install -Dm444 "${lib.getDev apple_sdk.sdk}"/include/libproc.h "$out"/include/libproc.h
|
||||
''
|
||||
) ++ lib.optionals stdenv.isLinux [
|
||||
bubblewrap
|
||||
libseccomp
|
||||
libmanette
|
||||
wayland
|
||||
libwpe
|
||||
libwpe-fdo
|
||||
xdg-dbus-proxy
|
||||
] ++ lib.optionals systemdSupport [
|
||||
systemd
|
||||
] ++ lib.optionals enableGeoLocation [
|
||||
geoclue2
|
||||
] ++ lib.optionals withLibsecret [
|
||||
libsecret
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gtk3
|
||||
libsoup
|
||||
];
|
||||
|
||||
cmakeFlags = let
|
||||
cmakeBool = x: if x then "ON" else "OFF";
|
||||
in [
|
||||
"-DENABLE_INTROSPECTION=ON"
|
||||
"-DPORT=GTK"
|
||||
"-DUSE_LIBHYPHEN=OFF"
|
||||
"-DUSE_SOUP2=${cmakeBool (lib.versions.major libsoup.version == "2")}"
|
||||
"-DUSE_LIBSECRET=${cmakeBool withLibsecret}"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"-DENABLE_GAMEPAD=OFF"
|
||||
"-DENABLE_GTKDOC=OFF"
|
||||
"-DENABLE_MINIBROWSER=OFF"
|
||||
"-DENABLE_QUARTZ_TARGET=ON"
|
||||
"-DENABLE_VIDEO=ON"
|
||||
"-DENABLE_WEBGL=OFF"
|
||||
"-DENABLE_WEB_AUDIO=OFF"
|
||||
"-DENABLE_X11_TARGET=OFF"
|
||||
"-DUSE_APPLE_ICU=OFF"
|
||||
"-DUSE_OPENGL_OR_ES=OFF"
|
||||
"-DUSE_SYSTEM_MALLOC=ON"
|
||||
] ++ lib.optionals (!systemdSupport) [
|
||||
"-DUSE_SYSTEMD=OFF"
|
||||
] ++ lib.optionals (stdenv.isLinux && enableGLES) [
|
||||
"-DENABLE_GLES2=ON"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# It needs malloc_good_size.
|
||||
sed 22i'#include <malloc/malloc.h>' -i Source/WTF/wtf/FastMalloc.h
|
||||
# <CommonCrypto/CommonRandom.h> needs CCCryptorStatus.
|
||||
sed 43i'#include <CommonCrypto/CommonCryptor.h>' -i Source/WTF/wtf/RandomDevice.cpp
|
||||
'';
|
||||
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Web content rendering engine, GTK port";
|
||||
homepage = "https://webkitgtk.org/";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = teams.gnome.members;
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
11
pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
Normal file
11
pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||
+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
|
||||
@@ -89,7 +89,7 @@
|
||||
#if PLATFORM(WAYLAND)
|
||||
if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) {
|
||||
#if USE(WPE_RENDERER)
|
||||
- wpe_loader_init("libWPEBackend-fdo-1.0.so.1");
|
||||
+ wpe_loader_init("@wpebackend_fdo@/lib/libWPEBackend-fdo-1.0.so.1");
|
||||
if (AcceleratedBackingStoreWayland::checkRequirements()) {
|
||||
parameters.hostClientFileDescriptor = IPC::Attachment(UnixFileDescriptor(wpe_renderer_host_create_client(), UnixFileDescriptor::Adopt));
|
||||
parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(String::fromLatin1(wpe_loader_get_loaded_implementation_library_name()));
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
diff -ru old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
|
||||
--- old/webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp 2019-09-09 04:47:07.000000000 -0400
|
||||
+++ webkitgtk-2.26.0/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp 2019-09-20 21:14:10.537921173 -0400
|
||||
@@ -724,6 +724,12 @@
|
||||
"--ro-bind-try", "/usr/local/lib64", "/usr/local/lib64",
|
||||
|
||||
"--ro-bind-try", PKGLIBEXECDIR, PKGLIBEXECDIR,
|
||||
+
|
||||
+ // Nix Directories
|
||||
+ "--ro-bind", "@storeDir@", "@storeDir@",
|
||||
+ "--ro-bind", "/run/current-system", "/run/current-system",
|
||||
+ "--ro-bind-try", "@driverLink@/lib", "@driverLink@/lib",
|
||||
+ "--ro-bind-try", "@driverLink@/share", "@driverLink@/share",
|
||||
};
|
||||
// We would have to parse ld config files for more info.
|
||||
bindPathVar(sandboxArgs, "LD_LIBRARY_PATH");
|
||||
12
pkgs/development/libraries/webkitgtk/libglvnd-headers.patch
Normal file
12
pkgs/development/libraries/webkitgtk/libglvnd-headers.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff --git a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
|
||||
index 8d848ce4..46d42c11 100644
|
||||
--- a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
|
||||
+++ b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "WebKitWaylandServerProtocol.h"
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
+#include <EGL/eglmesaext.h>
|
||||
#include <WebCore/GLContext.h>
|
||||
#include <WebCore/PlatformDisplayWayland.h>
|
||||
#include <WebCore/Region.h>
|
||||
Loading…
Add table
Add a link
Reference in a new issue