1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-15 11:03:37 +03:00
mobile-nixos/overlay/overlay.nix
Samuel Dionne-Riel e0573bea77 Adds local overrides to get fbterm compiling.
It will not work as-is with stage-1.
2018-07-11 14:32:29 -04:00

92 lines
2.9 KiB
Nix

self: super:
let
fetchpatch = self.fetchpatch;
callPackage = self.callPackage;
# FIXME : upstream fix for .a in "lib" instead of this hack.
# This is used to "re-merge" the split gcc package.
# Static libraries (.a) aren't available in the "lib" package.
# libtool, reading the `.la` files in the "lib" package expects `.a`
# to be in the "lib" package; they are in out.
merged_gcc7 = super.wrapCC (self.symlinkJoin {
name = "gcc7-merged";
paths = with super.buildPackages.gcc7.cc; [ out lib ];
});
in
{
# Misc. tools.
# Keep sorted.
adbd = callPackage ./adbd { };
android-headers = callPackage ./android-headers { };
dtbTool = callPackage ./dtbtool { };
hard-reboot = callPackage ./misc/hard-reboot.nix { };
libhybris = callPackage ./libhybris {
# FIXME : verify how it acts on native aarch64 build.
stdenv = if self.buildPlatform != self.targetPlatform then
self.stdenv
else
with self; overrideCC stdenv (merged_gcc7)
;
};
mkbootimg = callPackage ./mkbootimg { };
msm-fb-refresher = callPackage ./msm-fb-refresher { };
msm-fb-handle = callPackage ./msm-fb-handle { };
ply-image = callPackage ./ply-image { };
# Extra "libs"
mkExtraUtils = import ./lib/extra-utils.nix {
inherit (self)
runCommandCC
glibc
buildPackages
writeShellScriptBin
;
inherit (self.buildPackages)
nukeReferences
;
};
# Default set of kernel patches.
defaultKernelPatches = with self.kernelPatches; [
bridge_stp_helper
p9_fixes
lguest_entry-linkage
packet_fix_race_condition_CVE_2016_8655
DCCP_double_free_vulnerability_CVE-2017-6074
];
#
# Fixes to upstream
# -----------------
#
# All that follows will have to be cleaned and then upstreamed.
#
fbterm = super.fbterm.overrideDerivation(oldAttrs: with self; {
# Adds missing nativeBuildInputs (they're only buildInputs in nixpkgs).
nativeBuildInputs = [ pkgconfig ncurses binutils ];
# Futhermore, this patch is needed for compilation.
patches = [
(fetchpatch {
name = "0001-fbio.cpp-improxy.cpp-fbterm.cpp-fix-musl-compile.patch";
url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/fbterm/0001-fbio.cpp-improxy.cpp-fbterm.cpp-fix-musl-compile.patch";
sha256 = "10dgpsym0nhsxzjbi0dbp1y5h2a1b7srsf9l09j9g10ia31ljbs3";
})
]
++ oldAttrs.patches
;
});
freetype = super.freetype.overrideDerivation(oldAttrs: with self;{
# ./configure doesn't detect the native compiler properly.
CC_BUILD = "${buildPackages.stdenv.cc}/bin/cc";
});
libdrm = super.libdrm.overrideAttrs(oldAttrs: {
# valgrind won't build cross.
buildInputs = builtins.filter (
input: input != self.valgrind-light
) oldAttrs.buildInputs;
});
}