uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
53
pkgs/os-specific/linux/klibc/default.nix
Normal file
53
pkgs/os-specific/linux/klibc/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ lib, stdenv, fetchurl, buildPackages, linuxHeaders, perl }:
|
||||
|
||||
let
|
||||
commonMakeFlags = [
|
||||
"prefix=$(out)"
|
||||
"SHLIBDIR=$(out)/lib"
|
||||
];
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "klibc";
|
||||
version = "2.0.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/libs/klibc/2.0/klibc-${version}.tar.xz";
|
||||
sha256 = "sha256-ZidT2oiJ50TfwNtutAIcM3fufvjtZtfVd2X4yeJZOc0=";
|
||||
};
|
||||
|
||||
patches = [ ./no-reinstall-kernel-headers.patch ];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [ perl ];
|
||||
strictDeps = true;
|
||||
|
||||
hardeningDisable = [ "format" "stackprotector" ];
|
||||
|
||||
makeFlags = commonMakeFlags ++ [
|
||||
"KLIBCARCH=${stdenv.hostPlatform.linuxArch}"
|
||||
"KLIBCKERNELSRC=${linuxHeaders}"
|
||||
] # TODO(@Ericson2314): We now can get the ABI from
|
||||
# `stdenv.hostPlatform.parsed.abi`, is this still a good idea?
|
||||
++ lib.optional (stdenv.hostPlatform.linuxArch == "arm") "CONFIG_AEABI=y"
|
||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
|
||||
|
||||
# Install static binaries as well.
|
||||
postInstall = ''
|
||||
dir=$out/lib/klibc/bin.static
|
||||
mkdir $dir
|
||||
cp $(find $(find . -name static) -type f ! -name "*.g" -a ! -name ".*") $dir/
|
||||
|
||||
for file in ${linuxHeaders}/include/*; do
|
||||
ln -sv $file $out/lib/klibc/include
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Minimalistic libc subset for initramfs usage";
|
||||
homepage = "https://kernel.org/pub/linux/libs/klibc/";
|
||||
maintainers = with lib.maintainers; [ fpletz ];
|
||||
license = lib.licenses.bsd3;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
diff -Naur klibc-2.0.3-orig/scripts/Kbuild.install klibc-2.0.3/scripts/Kbuild.install
|
||||
--- klibc-2.0.3-orig/scripts/Kbuild.install 2013-12-03 13:53:46.000000000 -0500
|
||||
+++ klibc-2.0.3/scripts/Kbuild.install 2014-01-04 18:17:09.342609021 -0500
|
||||
@@ -95,7 +95,6 @@
|
||||
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
|
||||
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
|
||||
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
|
||||
- $(Q)cp -rfL $(KLIBCKERNELSRC)/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
|
||||
$(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
|
||||
$(Q)chmod -R a+rX $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
|
||||
$(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
|
||||
26
pkgs/os-specific/linux/klibc/shrunk.nix
Normal file
26
pkgs/os-specific/linux/klibc/shrunk.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{stdenv, klibc}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
# !!! For now, the name has to be exactly as long as the original
|
||||
# name due to the sed hackery below. Once patchelf 0.4 is in the
|
||||
# tree, we can do this properly.
|
||||
#name = "${klibc.name}-shrunk";
|
||||
name = klibc.name;
|
||||
buildCommand = ''
|
||||
mkdir -p $out/lib
|
||||
cp -prd ${klibc.out}/lib/klibc/bin $out/
|
||||
cp -p ${klibc.out}/lib/*.so $out/lib/
|
||||
chmod +w $out/*
|
||||
old=$(echo ${klibc.out}/lib/klibc-*.so)
|
||||
new=$(echo $out/lib/klibc-*.so)
|
||||
for i in $out/bin/*; do
|
||||
echo $i
|
||||
sed "s^$old^$new^" -i $i
|
||||
# !!! use patchelf
|
||||
#patchelf --set-interpreter $new $i
|
||||
done
|
||||
''; # */
|
||||
allowedReferences = ["out"];
|
||||
|
||||
inherit (klibc) meta;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue