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
|
|
@ -0,0 +1,17 @@
|
|||
The clean command line compiler clm checks modules for freshness by comparing timestamps.
|
||||
However, in chroot builds all files installed have the same timestamp. This leads to clm
|
||||
trying to rebuild the library modules distributed with the Clean install every time a user
|
||||
compiles any file. This patch changes the freshness check to use less than instead of less
|
||||
than or equal to in order to avoid this.
|
||||
|
||||
--- clean-upstream/src/tools/clm/clm.c 2010-12-10 06:12:17.000000000 -0430
|
||||
+++ clean/src/tools/clm/clm.c 2010-12-25 10:29:09.840675925 -0430
|
||||
@@ -250,7 +250,7 @@
|
||||
|| (t1.dwHighDateTime==t2.dwHighDateTime && (unsigned)(t1.dwLowDateTime)<=(unsigned)(t2.dwLowDateTime)))
|
||||
#else
|
||||
typedef unsigned long FileTime;
|
||||
-# define FILE_TIME_LE(t1,t2) (t1<=t2)
|
||||
+# define FILE_TIME_LE(t1,t2) (t1<t2)
|
||||
#endif
|
||||
|
||||
typedef struct project_node {
|
||||
53
pkgs/development/compilers/clean/default.nix
Normal file
53
pkgs/development/compilers/clean/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "clean";
|
||||
version = "3.0";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then (fetchurl {
|
||||
url = "https://ftp.cs.ru.nl/Clean/Clean30/linux/clean3.0_32_boot.tar.gz";
|
||||
sha256 = "0cjxv3vqrg6pz3aicwfdz1zyhk0q650464j3qyl0wzaikh750010";
|
||||
})
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl {
|
||||
url = "https://ftp.cs.ru.nl/Clean/Clean30/linux/clean3.0_64_boot.tar.gz";
|
||||
sha256 = "06k283y9adbi28f78k3m5ssg6py73qqkz3sm8dgxc89drv4krl2i";
|
||||
})
|
||||
else throw "Architecture not supported";
|
||||
|
||||
hardeningDisable = [ "format" "pic" ];
|
||||
|
||||
# clm uses timestamps of dcl, icl, abc and o files to decide what must be rebuild
|
||||
# and for chroot builds all of the library files will have equal timestamps. This
|
||||
# makes clm try to rebuild the library modules (and fail due to absence of write permission
|
||||
# on the Nix store) every time any file is compiled.
|
||||
patches = [ ./chroot-build-support-do-not-rebuild-equal-timestamps.patch ];
|
||||
|
||||
preBuild = ''
|
||||
substituteInPlace Makefile --replace 'INSTALL_DIR = $(CURRENTDIR)' 'INSTALL_DIR = '$out
|
||||
|
||||
substituteInPlace src/tools/clm/clm.c --replace '/usr/bin/gcc' $(type -p gcc)
|
||||
substituteInPlace src/tools/clm/clm.c --replace '/usr/bin/as' $(type -p as)
|
||||
|
||||
cd src
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
cd ..
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "General purpose, state-of-the-art, pure and lazy functional programming language";
|
||||
longDescription = ''
|
||||
Clean is a general purpose, state-of-the-art, pure and lazy functional
|
||||
programming language designed for making real-world applications. Some
|
||||
of its most notable language features are uniqueness typing, dynamic typing,
|
||||
and generic functions.
|
||||
'';
|
||||
|
||||
homepage = "http://wiki.clean.cs.ru.nl/Clean";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = [ lib.maintainers.erin ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue