diff options
Diffstat (limited to 'pkgs/development/compilers')
5 files changed, 41 insertions, 22 deletions
diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix index b5e6e0e70480..522c8d1a163b 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -1,4 +1,4 @@ -{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: +{ stdenv, cmake, fetch, libcxx, llvm, version }: stdenv.mkDerivation { pname = "libc++abi"; @@ -7,7 +7,6 @@ stdenv.mkDerivation { src = fetch "libcxxabi" "1zcqxsdjhawgz1cvpk07y3jl6fg9p3ay4nl69zsirqb2ghgyhhb2"; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; postUnpack = '' unpackFile ${libcxx.src} diff --git a/pkgs/development/compilers/llvm/9/clang/default.nix b/pkgs/development/compilers/llvm/9/clang/default.nix index df6b916e87f0..bf9b1a32a834 100644 --- a/pkgs/development/compilers/llvm/9/clang/default.nix +++ b/pkgs/development/compilers/llvm/9/clang/default.nix @@ -71,6 +71,7 @@ let # Move libclang to 'lib' output moveToOutput "lib/libclang.*" "$lib" + moveToOutput "lib/libclang-cpp.*" "$lib" substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index d25cd9fee770..7a6778216873 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -18,19 +18,19 @@ let in stdenv.mkDerivation rec { pname = "purescript"; - version = "0.13.0"; + version = "0.13.3"; src = if stdenv.isDarwin then fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz"; - sha256 = "0xpisy38gj6fgyyzm6fdl0v819dhjmil4634xxangvhvs7jf5il0"; + sha256 = "04ylhqadj7wnclhiar9il6fkrxmh9qkz6fpas7z3b37w4qg0gshl"; } else fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz"; - sha256 = "06g5q69yv6c3alq9vr8zjqqzamlii7xf6vj9j52akjq5lww214ba"; + sha256 = "1xcn694qfql87pdjh09hhvfvpakzxb2hagss61vh9msqq3s96l3z"; }; diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index 338ba9312492..7c81f9ba1635 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchFromRepoOrCz, perl, texinfo }: -with stdenv.lib; +{ stdenv, lib, fetchFromRepoOrCz, perl, texinfo }: +with lib; stdenv.mkDerivation rec { pname = "tcc"; version = "0.9.27"; + upstreamVersion = "release_${concatStringsSep "_" (builtins.splitVersion version)}"; src = fetchFromRepoOrCz { repo = "tinycc"; - rev = "release_0_9_27"; + rev = upstreamVersion; sha256 = "12mm1lqywz0akr2yb2axjfbw8lwv57nh395vzsk534riz03ml977"; }; @@ -15,6 +16,8 @@ stdenv.mkDerivation rec { hardeningDisable = [ "fortify" ]; + enableParallelBuilding = true; + postPatch = '' substituteInPlace "texi2pod.pl" \ --replace "/usr/bin/perl" "${perl}/bin/perl" @@ -30,6 +33,17 @@ stdenv.mkDerivation rec { configureFlagsArray+=("--libpaths=${getLib stdenv.cc.libc}/lib") ''; + postFixup = '' + cat >libtcc.pc <<EOF + Name: libtcc + Description: Tiny C compiler backend + Version: ${version} + Libs: -L$out/lib -Wl,--rpath $out/lib -ltcc -ldl + Cflags: -I$out/include + EOF + install -Dt $out/lib/pkgconfig libtcc.pc + ''; + doCheck = true; checkTarget = "test"; @@ -60,7 +74,7 @@ stdenv.mkDerivation rec { generation. ''; - homepage = http://www.tinycc.org/; + homepage = "http://www.tinycc.org/"; license = licenses.mit; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix index f72ec0890543..fba11a06a6e9 100644 --- a/pkgs/development/compilers/vlang/default.nix +++ b/pkgs/development/compilers/vlang/default.nix @@ -1,42 +1,47 @@ -{ stdenv, fetchFromGitHub, glfw, freetype, openssl }: +{ stdenv, fetchFromGitHub, glfw, freetype, openssl, upx ? null }: + +assert stdenv.hostPlatform.isUnix -> upx != null; stdenv.mkDerivation rec { pname = "vlang"; - version = "0.1.18"; + version = "0.1.21"; src = fetchFromGitHub { owner = "vlang"; repo = "v"; rev = version; - sha256 = "0js92v2r1h4vaaha3z1spgi7qynlmr9vls41gxp284w4yhnjzv15"; + sha256 = "0npd7a7nhd6r9mr99naib9scqk30209hz18nxif27284ckjbl4fk"; }; # V compiler source translated to C for bootstrap. + # Use matching v.c release commit for now, 0.1.21 release is not available. vc = fetchFromGitHub { owner = "vlang"; repo = "vc"; - rev = version; - sha256 = "0qx1drs1hr94w7vaaq5w8mkq7j1d3biffnmxkyz63yv8573k03bj"; + rev = "950a90b6acaebad1c6ddec5486fc54307e38a9cd"; + sha256 = "1dh5l2m207rip1xj677hvbp067inw28n70ddz5wxzfpmaim63c0l"; }; enableParallelBuilding = true; - buildInputs = [ glfw freetype openssl ]; + propagatedBuildInputs = [ glfw freetype openssl ] + ++ stdenv.lib.optional stdenv.hostPlatform.isUnix upx; buildPhase = '' runHook preBuild cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS - ./v -prod -o v compiler - make thirdparty + ./v -prod -cflags `$CFLAGS` -o v compiler + # Exclude thirdparty/vschannel as it is windows-specific. + find thirdparty -path thirdparty/vschannel -prune -o -type f -name "*.c" -execdir cc -std=gnu11 $CFLAGS -w -c {} $LDFLAGS ';' runHook postBuild ''; installPhase = '' runHook preInstall - mkdir -p $out/{bin,lib/vlang,share/vlang} - cp -r examples $out/share/vlang - cp -r {vlib,thirdparty} $out/lib/vlang - cp v $out/lib/vlang - ln -s $out/lib/vlang/v $out/bin/v + mkdir -p $out/{bin,lib,share} + cp -r examples $out/share + cp -r {vlib,thirdparty} $out/lib + cp v $out/lib + ln -s $out/lib/v $out/bin/v runHook postInstall ''; |