1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-17 21:11:34 +03:00
mobile-nixos/overlay/overlay.nix
Samuel Dionne-Riel fb4984cb90 s/boot-gui/boot-recovery-menu/g
The applet is specifically written to show what we call the "recovery
menu". Yes, it's also the boot selection, but it will get confusing with
the upcoming boot tracking splash UI that's upcoming.
2020-10-27 15:23:40 -04:00

113 lines
3.4 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 { };
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 { };
ply-image = callPackage ./ply-image { };
# Extra "libs"
mkExtraUtils = import ./lib/extra-utils.nix {
inherit (self)
runCommandCC
glibc
buildPackages
writeShellScriptBin
;
inherit (self.buildPackages)
nukeReferences
;
};
#
# New software to upstream
# ------------------------
#
make_ext4fs = callPackage ./make_ext4fs {};
hardshutdown = callPackage ./hardshutdown {};
bootlogd = callPackage ./bootlogd {};
#
# Hacks
# -----
#
# Totally not upstreamable stuff.
#
xorg = super.xorg.overrideScope'(self: super: {
xf86videofbdev = super.xf86videofbdev.overrideAttrs({patches ? [], ...}: {
patches = patches ++ [
./xserver/0001-HACK-fbdev-don-t-bail-on-mode-initialization-fail.patch
];
});
}) # See all-packages.nix for more about this messy composition :/
// { inherit (self) xlibsWrapper; };
#
# Fixes to upstream
# -----------------
#
# All that follows will have to be cleaned and then upstreamed.
#
vboot_reference = super.vboot_reference.overrideAttrs(attrs: {
# https://github.com/NixOS/nixpkgs/pull/69039
postPatch = ''
substituteInPlace Makefile \
--replace "ar qc" '${self.stdenv.cc.bintools.targetPrefix}ar qc'
'';
});
# Things specific to mobile-nixos.
# Not necessarily internals, but they probably won't go into <nixpkgs>.
mobile-nixos = {
kernel-builder = callPackage ./mobile-nixos/kernel/builder.nix {};
kernel-builder-gcc49 = callPackage ./mobile-nixos/kernel/builder.nix {
stdenv = with self; overrideCC stdenv buildPackages.gcc49;
};
kernel-builder-gcc6 = callPackage ./mobile-nixos/kernel/builder.nix {
stdenv = with self; overrideCC stdenv buildPackages.gcc6;
};
kernel-builder-clang_9 = callPackage ./mobile-nixos/kernel/builder.nix {
stdenv = with self; overrideCC stdenv buildPackages.clang_9;
};
stage-1 = {
script-loader = callPackage ../boot/script-loader {};
boot-recovery-menu = callPackage ../boot/recovery-menu {};
};
autoport = callPackage ./mobile-nixos/autoport {};
boot-recovery-menu-simulator = callPackage ../boot/recovery-menu/simulator.nix {};
};
imageBuilder = callPackage ../lib/image-builder {};
}