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