83 lines
1.9 KiB
Nix
83 lines
1.9 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
imagemagick,
|
|
source-code-pro,
|
|
nix-update-script,
|
|
}:
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "m1n1";
|
|
version = "1.4.21";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AsahiLinux";
|
|
repo = "m1n1";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-0ZnDexY/Sf2TJFfUv/YelCctFJVENffWqBU0r0azD0M=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
imagemagick
|
|
];
|
|
|
|
postConfigure = ''
|
|
patchShebangs --build font/makefont.sh
|
|
FONT_PATH=${source-code-pro}/share/fonts/opentype/SourceCodePro-Bold.otf
|
|
rm font/{SourceCodePro-Bold.ttf,font.bin,font_retina.bin}
|
|
./font/makefont.sh 8 16 12 $FONT_PATH font/font.bin
|
|
./font/makefont.sh 16 32 25 $FONT_PATH font/font_retina.bin
|
|
'';
|
|
|
|
makeFlags = [
|
|
"ARCH=${stdenv.cc.targetPrefix}"
|
|
"RELEASE=1"
|
|
];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
install -Dm644 build/m1n1.bin -t $out/lib/m1n1/
|
|
|
|
install -Dm644 3rdparty_licenses/LICENSE.* -t $out/share/doc/m1n1/licenses/
|
|
install -Dm644 LICENSE -t $out/share/doc/m1n1/licenses/
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru = {
|
|
updateScript = nix-update-script { };
|
|
};
|
|
|
|
meta = {
|
|
description = "Bootloader to bridge the Apple (XNU) boot to Linux boot";
|
|
homepage = "https://github.com/AsahiLinux/m1n1";
|
|
changelog = "https://github.com/AsahiLinux/m1n1/releases/tag/${finalAttrs.src.tag}";
|
|
license = with lib.licenses; [
|
|
# m1n1 embeds several libraries, all of which cannot be
|
|
# unvendored easily.
|
|
|
|
# m1n1, minlzma, musl-libc
|
|
mit
|
|
# libfdt: dual BSD2 and GPL-2-or-later
|
|
# tinf: zlib
|
|
# arm-trusted-firmware: BSD3
|
|
# dlmalloc: CC0
|
|
# PDCLib: CC0
|
|
# Source Code Pro: OFL1.1
|
|
# dwc3: BSD3 and GPL-2-or-later
|
|
cc0
|
|
ofl
|
|
zlib
|
|
bsd2
|
|
gpl2Plus
|
|
bsd3
|
|
asl20
|
|
];
|
|
maintainers = with lib.maintainers; [ normalcea ];
|
|
platforms = lib.platforms.aarch64;
|
|
};
|
|
})
|