diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 03e8be7053a2..bb08b113ad50 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -1,36 +1,35 @@ -{ stdenv, lib, fetchFromRepoOrCz, perl, texinfo }: -with lib; +{ stdenv, lib, fetchFromRepoOrCz, perl, texinfo, which }: stdenv.mkDerivation rec { pname = "tcc"; - version = "0.9.27"; - upstreamVersion = "release_${concatStringsSep "_" (builtins.splitVersion version)}"; + version = "unstable-2021-10-09"; src = fetchFromRepoOrCz { repo = "tinycc"; - rev = upstreamVersion; - sha256 = "12mm1lqywz0akr2yb2axjfbw8lwv57nh395vzsk534riz03ml977"; + rev = "ca11849ebb88ef4ff87beda46bf5687e22949bd6"; + sha256 = "sha256-xnUDyTYZxbxUCblACyX73boBhU073VRqSy1SWlWsvIw="; }; - nativeBuildInputs = [ perl texinfo ]; + nativeBuildInputs = [ perl texinfo which ]; hardeningDisable = [ "fortify" ]; - enableParallelBuilding = true; - postPatch = '' - substituteInPlace "texi2pod.pl" \ - --replace "/usr/bin/perl" "${perl}/bin/perl" + patchShebangs texi2pod.pl ''; + configureFlags = [ + "--cc=cc" + "--crtprefix=${lib.getLib stdenv.cc.libc}/lib" + "--sysincludepaths=${lib.getDev stdenv.cc.libc}/include:{B}/include" + "--libpaths=${lib.getLib stdenv.cc.libc}/lib" + # build cross compilers + "--enable-cross" + ]; + preConfigure = '' echo ${version} > VERSION - - configureFlagsArray+=("--cc=cc") configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)") - configureFlagsArray+=("--crtprefix=${getLib stdenv.cc.libc}/lib") - configureFlagsArray+=("--sysincludepaths=${getDev stdenv.cc.libc}/include:{B}/include") - configureFlagsArray+=("--libpaths=${getLib stdenv.cc.libc}/lib") ''; postFixup = '' @@ -47,9 +46,8 @@ stdenv.mkDerivation rec { doCheck = true; checkTarget = "test"; - meta = { + meta = with lib; { description = "Small, fast, and embeddable C compiler and interpreter"; - longDescription = '' TinyCC (aka TCC) is a small but hyper fast C compiler. Unlike other C compilers, it is meant to be self-sufficient: you do not @@ -73,11 +71,9 @@ stdenv.mkDerivation rec { With libtcc, you can use TCC as a backend for dynamic code generation. ''; - - homepage = "http://www.tinycc.org/"; - license = licenses.mit; - - platforms = [ "x86_64-linux" ]; + homepage = "https://repo.or.cz/tinycc.git"; + license = licenses.lgpl21Only; + platforms = platforms.linux; maintainers = [ maintainers.joachifm ]; }; }