package.nix (1658B)
1 { 2 lib, 3 stdenv, 4 fetchgit, 5 ed, 6 qbe, 7 makeWrapper, 8 buildPackages, 9 }: 10 11 stdenv.mkDerivation { 12 pname = "scc"; 13 version = "0-unstable-2025-10-29"; 14 15 src = fetchgit { 16 url = "git://git.simple-cc.org/scc"; 17 rev = "1ed0ff0000999561feee336c289252faf2502a7e"; 18 hash = "sha256-BVs+ypb6/aE2BsCsDMLZa2ppK6ypjLZQumUgzIehg/k="; 19 }; 20 21 postPatch = '' 22 substituteInPlace scripts/build/tool/gnu.mk \ 23 --replace-fail "TOOL_LDFLAGS" "#TOOL_LDFLAGS" 24 substituteInPlace scripts/rules.mk \ 25 --replace-fail "PREFIX = /usr/local" "PREFIX = $out" 26 substituteInPlace scripts/config \ 27 --replace-fail "PREFIX:=/usr/local" "PREFIX:=$out" 28 substituteInPlace tests/Makefile \ 29 --replace-fail "libc/execute" "" \ 30 --replace-fail "cc/execute" "" \ 31 --replace-fail "make/execute" "" 32 ''; 33 34 nativeBuildInputs = [ 35 ed 36 qbe 37 makeWrapper 38 ]; 39 40 makeFlags = [ 41 "AR=${stdenv.cc.targetPrefix}ar" 42 "AS=${stdenv.cc.targetPrefix}as" 43 "CC=${stdenv.cc.targetPrefix}cc" 44 "LD=${stdenv.cc.targetPrefix}ld" 45 "RANLIB=${stdenv.cc.targetPrefix}ranlib" 46 "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" 47 ]; 48 49 doCheck = false; 50 checkTarget = "tests"; 51 52 postInstall = '' 53 for i in $out/bin/*; do 54 wrapProgram $i --prefix PATH : ${ 55 lib.makeBinPath [ 56 "$out" 57 qbe 58 ] 59 } 60 done 61 ''; 62 63 meta = { 64 description = "Simple c99 compiler"; 65 homepage = "https://www.simple-cc.org/"; 66 license = lib.licenses.isc; 67 maintainers = [ lib.maintainers.sikmir ]; 68 platforms = lib.platforms.linux; 69 skip.ci = stdenv.isDarwin; 70 }; 71 }
