about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/tinycc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/tinycc/default.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/tinycc/default.nix45
1 files changed, 22 insertions, 23 deletions
diff --git a/nixpkgs/pkgs/development/compilers/tinycc/default.nix b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
index 03e8be7053a2..b46dee899a33 100644
--- a/nixpkgs/pkgs/development/compilers/tinycc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/tinycc/default.nix
@@ -1,36 +1,38 @@
-{ 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"
+    "--ar=$AR"
+    "--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"
+  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
+    "--config-musl"
+  ];
+
   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 +49,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 +74,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 ];
   };
 }