diff --git a/overlay/overlay.nix b/overlay/overlay.nix index e6c503169..6d7156c53 100644 --- a/overlay/overlay.nix +++ b/overlay/overlay.nix @@ -34,6 +34,11 @@ in msm-fb-handle = callPackage ./msm-fb-handle { }; ply-image = callPackage ./ply-image { }; pulseaudio-modules-droid = callPackage ./pulseaudio-modules-droid { }; + xorg = super.xorg.overrideScope'(self: super: { + xf86videohwcomposer = callPackage ./xf86-video-hwcomposer { }; + }) # See all-packages.nix for more about this messy composition :/ + // { inherit (self) xlibsWrapper; }; + qt5-qpa-hwcomposer-plugin = self.qt5.callPackage ./qt5-qpa-hwcomposer-plugin { }; # Extra "libs" mkExtraUtils = import ./lib/extra-utils.nix { diff --git a/overlay/xf86-video-hwcomposer/default.nix b/overlay/xf86-video-hwcomposer/default.nix new file mode 100644 index 000000000..982ff2550 --- /dev/null +++ b/overlay/xf86-video-hwcomposer/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, fetchFromGitHub +, autoreconfHook +, pkgconfig +, utilmacros +, xorgserver +, android-headers +, libhybris +}: + +stdenv.mkDerivation { + pname = "xf86-video-hwcomposer"; + version = "unstable-2019-02-07"; + + src = fetchFromGitHub { + owner = "gemian"; + repo = "xf86-video-hwcomposer"; + rev = "0440e52d31ebe4565d0f92dfb45a8c52aab18b03"; + sha256 = "0yz02jgr12g8gln01qh1rpbixkc6bdcg6rf6h6g04na3gw4f3xr7"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + + buildInputs = [ + android-headers + libhybris + utilmacros + xorgserver + ]; + + NIX_CFLAGS_COMPILE = "-I${android-headers}/include/android"; + + meta = with stdenv.lib; { + homepage = https://github.com/gemian/xf86-video-hwcomposer; + description = "Xorg DDX driver to renderer through HWComposer API on Android devices via libhybris"; + maintainers = with maintainers; [ adisbladis ]; + platforms = stdenv.lib.platforms.linux; + }; +}