mirror of
https://github.com/NixOS/mobile-nixos.git
synced 2024-12-17 21:11:34 +03:00
fb4984cb90
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.
113 lines
3.4 KiB
Nix
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 {};
|
|
}
|