diff options
Diffstat (limited to 'pkgs/development/compilers/clean')
-rw-r--r-- | pkgs/development/compilers/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch | 17 | ||||
-rw-r--r-- | pkgs/development/compilers/clean/default.nix | 53 |
2 files changed, 0 insertions, 70 deletions
diff --git a/pkgs/development/compilers/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch b/pkgs/development/compilers/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch deleted file mode 100644 index 3e0fbe6b996d..000000000000 --- a/pkgs/development/compilers/clean/chroot-build-support-do-not-rebuild-equal-timestamps.patch +++ /dev/null @@ -1,17 +0,0 @@ -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 { diff --git a/pkgs/development/compilers/clean/default.nix b/pkgs/development/compilers/clean/default.nix deleted file mode 100644 index e360bb05f40d..000000000000 --- a/pkgs/development/compilers/clean/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ 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" ]; - }; -} |