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
52
pkgs/development/compilers/chez-racket/default.nix
Normal file
52
pkgs/development/compilers/chez-racket/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ stdenv, buildPackages, callPackage }:
|
||||
|
||||
let
|
||||
chezSystemMap = {
|
||||
# See `/workarea` of source code for list of systems
|
||||
"aarch64-darwin" = "tarm64osx";
|
||||
"aarch64-linux" = "tarm64le";
|
||||
"armv7l-linux" = "tarm32le";
|
||||
"x86_64-darwin" = "ta6osx";
|
||||
"x86_64-linux" = "ta6le";
|
||||
};
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
chezSystem = chezSystemMap.${system} or (throw "Add ${system} to chezSystemMap to enable building chez-racket");
|
||||
# Chez Scheme uses an ad-hoc `configure`, hence we don't use the usual
|
||||
# stdenv abstractions.
|
||||
forBoot = {
|
||||
pname = "chez-scheme-racket-boot";
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
./configure --pb ZLIB=$ZLIB LZ4=$LZ4
|
||||
runHook postConfigure
|
||||
'';
|
||||
makeFlags = [ "${chezSystem}.bootquick" ];
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out
|
||||
pushd boot
|
||||
mv $(ls -1 | grep -v "^pb$") -t $out
|
||||
popd
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
boot = buildPackages.callPackage (import ./shared.nix forBoot) {};
|
||||
forFinal = {
|
||||
pname = "chez-scheme-racket";
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
cp -r ${boot}/* -t ./boot
|
||||
./configure -m=${chezSystem} --installprefix=$out --installman=$out/share/man ZLIB=$ZLIB LZ4=$LZ4
|
||||
runHook postConfigure
|
||||
'';
|
||||
preBuild = ''
|
||||
pushd ${chezSystem}/c
|
||||
'';
|
||||
postBuild = ''
|
||||
popd
|
||||
'';
|
||||
setupHook = ./setup-hook.sh;
|
||||
};
|
||||
final = callPackage (import ./shared.nix forFinal) {};
|
||||
in
|
||||
final
|
||||
5
pkgs/development/compilers/chez-racket/setup-hook.sh
Normal file
5
pkgs/development/compilers/chez-racket/setup-hook.sh
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
addChezLibraryPath() {
|
||||
addToSearchPath CHEZSCHEMELIBDIRS "$1/lib/csv-site"
|
||||
}
|
||||
|
||||
addEnvHooks "$targetOffset" addChezLibraryPath
|
||||
41
pkgs/development/compilers/chez-racket/shared.nix
Normal file
41
pkgs/development/compilers/chez-racket/shared.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
args:
|
||||
{ stdenv, lib, fetchFromGitHub, coreutils, darwin
|
||||
, ncurses, libiconv, libX11, zlib, lz4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (args // {
|
||||
version = "unstable-2021-12-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "racket";
|
||||
repo = "ChezScheme";
|
||||
rev = "8846c96b08561f05a937d5ecfe4edc96cc99be39";
|
||||
sha256 = "IYJQzT88T8kFahx2BusDOyzz6lQDCbZIfSz9rZoNF7A=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
rm -rf zlib/*.c lz4/lib/*.c
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
export ZLIB="$(find ${zlib.out}/lib -type f | sort | head -n1)"
|
||||
export LZ4="$(find ${lz4.out}/lib -type f | sort | head -n1)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isDarwin (with darwin; [ cctools autoSignDarwinBinariesHook ]);
|
||||
buildInputs = [ ncurses libX11 zlib lz4 ]
|
||||
++ lib.optional stdenv.isDarwin libiconv;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation";
|
||||
|
||||
meta = {
|
||||
description = "Fork of Chez Scheme for Racket";
|
||||
homepage = "https://github.com/racket/ChezScheme";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ l-as ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue