From 698cedfa3c219cf8b8e16077aa215b7d15a2ce2d Mon Sep 17 00:00:00 2001 From: Rahul Butani Date: Mon, 18 Jul 2022 15:12:40 -0500 Subject: tinyscheme: don't require the gcc stdenv --- .../tinyscheme/02-use-toolchain-env-vars.patch | 26 ++++++++++++++++++++++ .../interpreters/tinyscheme/default.nix | 12 ++++++++-- pkgs/top-level/all-packages.nix | 4 +--- 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/interpreters/tinyscheme/02-use-toolchain-env-vars.patch (limited to 'pkgs') diff --git a/pkgs/development/interpreters/tinyscheme/02-use-toolchain-env-vars.patch b/pkgs/development/interpreters/tinyscheme/02-use-toolchain-env-vars.patch new file mode 100644 index 0000000000000..f23ad8d02ef58 --- /dev/null +++ b/pkgs/development/interpreters/tinyscheme/02-use-toolchain-env-vars.patch @@ -0,0 +1,26 @@ +diff --git a/makefile b/makefile +index aeb2fcd..4c111a1 100644 +--- a/makefile ++++ b/makefile +@@ -18,7 +18,7 @@ + #AR= echo + + # Unix, generally +-CC = gcc -fpic -pedantic ++CC := $(CC) -fpic -pedantic + DEBUG=-g -Wall -Wno-char-subscripts -O + Osuf=o + SOsuf=so +@@ -27,10 +27,10 @@ EXE_EXT= + LIBPREFIX=lib + OUT = -o $@ + RM= -rm -f +-AR= ar crs ++AR := $(AR) crs + + # Linux +-LD = gcc ++LD := $(CC) + LDFLAGS = -shared + DEBUG=-g -Wno-char-subscripts -O + SYS_LIBS= -ldl -lm diff --git a/pkgs/development/interpreters/tinyscheme/default.nix b/pkgs/development/interpreters/tinyscheme/default.nix index 0787c2c333110..96a0f355ec250 100644 --- a/pkgs/development/interpreters/tinyscheme/default.nix +++ b/pkgs/development/interpreters/tinyscheme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, dos2unix }: stdenv.mkDerivation rec { pname = "tinyscheme"; @@ -9,7 +9,15 @@ stdenv.mkDerivation rec { sha256 = "sha256-F7Cxv/0i89SdWDPiKhILM5A50s/aC0bW/FHdLwG0B60="; }; - patchPhase = '' + nativeBuildInputs = [ dos2unix ]; + + prePatch = "dos2unix makefile"; + patches = [ + # We want to have the makefile pick up $CC, etc. so that we don't have + # to unnecessarily tie this package to the GCC stdenv. + ./02-use-toolchain-env-vars.patch + ]; + postPatch = '' substituteInPlace scheme.c --replace "init.scm" "$out/lib/init.scm" ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c8af61fe2f2d..ef79fc2b521bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14346,9 +14346,7 @@ with pkgs; wasi-libc = pkgsCross.wasi32.wasilibc; }; - tinyscheme = callPackage ../development/interpreters/tinyscheme { - stdenv = gccStdenv; - }; + tinyscheme = callPackage ../development/interpreters/tinyscheme { }; bupc = callPackage ../development/compilers/bupc { }; -- cgit 1.4.1