diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-08-28 08:26:42 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-08-28 08:26:42 +0200 |
commit | 5061fe0c2c7743370e1d379d6fa60eed26ff1470 (patch) | |
tree | 4a4ee79a6e0694d3c7ad6fbeff33343d83458e6c /pkgs/development/compilers | |
parent | a2538606e3115e16db2e5075ecf37b886ad64ede (diff) | |
parent | 98640fd48212f8e6552517f667bba1901f5936d4 (diff) |
Merge staging-next into staging
Diffstat (limited to 'pkgs/development/compilers')
30 files changed, 486 insertions, 157 deletions
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix index a166954dc21be..305e0f202bf13 100644 --- a/pkgs/development/compilers/icedtea-web/default.nix +++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, xulrunner, zip, pkgconfig, npapi_sdk, bash, bc }: stdenv.mkDerivation rec { - pname = "icedtea-web"; + pname = "adoptopenjdk-icedtea-web"; version = "1.8.3"; src = fetchFromGitHub { owner = "AdoptOpenJDK"; repo = "IcedTea-Web"; - rev = "${pname}-${version}"; + rev = "icedtea-web-${version}"; sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq"; }; diff --git a/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch b/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch index 85cad6cf4678a..85cad6cf4678a 100644 --- a/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch +++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix index 20506508b9c64..940eb851fe619 100644 --- a/pkgs/development/compilers/compcert/default.nix +++ b/pkgs/development/compilers/compcert/default.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation rec { patchPhase = '' substituteInPlace ./configure \ + --replace '|8.9.0' '|8.9.0|8.9.1' \ --replace '{toolprefix}gcc' '{toolprefix}cc' ''; diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index d698a6e39fea5..d9392721fa5a2 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -200,5 +200,12 @@ in rec { binary = binaryCrystal_0_29; }; - crystal = crystal_0_29; + crystal_0_30 = generic { + version = "0.30.1"; + sha256 = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs"; + doCheck = false; # 6 checks are failing now + binary = binaryCrystal_0_29; + }; + + crystal = crystal_0_30; } diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index 809fc6a4cf1ab..2a90902df1e77 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchFromGitHub, fetchpatch, libuuid, python2, iasl }: +{ stdenv, fetchgit, fetchpatch, libuuid, python3, iasl, bc }: let - pythonEnv = python2.withPackages(ps: [ps.tkinter]); + pythonEnv = python3.withPackages (ps: [ps.tkinter]); targetArch = if stdenv.isi686 then "IA32" @@ -13,80 +13,67 @@ else throw "Unsupported architecture"; edk2 = stdenv.mkDerivation { - name = "edk2-2017-12-05"; - - src = fetchFromGitHub { - owner = "tianocore"; - repo = "edk2"; - rev = "f71a70e7a4c93a6143d7bad8ab0220a947679697"; - sha256 = "0k48xfwxcgcim1bhkggc19hilvsxsf5axvvcpmld0ng1fcfg0cr6"; + pname = "edk2"; + version = "201905"; + + # submodules + src = fetchgit { + url = "https://github.com/tianocore/edk2"; + rev = "edk2-stable${edk2.version}"; + sha256 = "0fk40h4nj4qg8shg0yd1zj4iyspslms5fx95ysi04akv90k5sqkn"; }; - patches = [ - (fetchpatch { - name = "short-circuit-the-transfer-of-an-empty-S3_CONTEXT.patch"; - url = "https://github.com/tianocore/edk2/commit/9e2a8e928995c3b1bb664b73fd59785055c6b5f6.diff"; - sha256 = "0x24npijhgpjpsn3n74wayf8qcbaj97vi4z2iyf4almavqq8qaz4"; - }) - ]; - buildInputs = [ libuuid pythonEnv ]; - makeFlags = "-C BaseTools"; + makeFlags = [ "-C BaseTools" ]; hardeningDisable = [ "format" "fortify" ]; installPhase = '' mkdir -vp $out mv -v BaseTools $out - mv -v EdkCompatibilityPkg $out mv -v edksetup.sh $out ''; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "Intel EFI development kit"; homepage = https://sourceforge.net/projects/edk2/; - license = stdenv.lib.licenses.bsd2; - branch = "UDK2017"; - platforms = ["x86_64-linux" "i686-linux" "aarch64-linux"]; + license = licenses.bsd2; + platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; }; passthru = { - setup = projectDscPath: attrs: { - buildInputs = [ pythonEnv ] ++ - stdenv.lib.optionals (attrs ? buildInputs) attrs.buildInputs; + mkDerivation = projectDscPath: attrs: stdenv.mkDerivation ({ + inherit (edk2) src; - configurePhase = '' - mkdir -v Conf + buildInputs = [ bc pythonEnv ] ++ attrs.buildInputs or []; - cp ${edk2}/BaseTools/Conf/target.template Conf/target.txt - sed -i Conf/target.txt \ - -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' \ - -e 's|MYTOOLS|GCC49|' \ - -e 's|IA32|${targetArch}|' \ - -e 's|DEBUG|RELEASE|'\ - - cp ${edk2}/BaseTools/Conf/tools_def.template Conf/tools_def.txt - sed -i Conf/tools_def.txt \ - -e 's|DEFINE GCC48_IA32_PREFIX = /usr/bin/|DEFINE GCC48_IA32_PREFIX = ""|' \ - -e 's|DEFINE GCC48_X64_PREFIX = /usr/bin/|DEFINE GCC48_X64_PREFIX = ""|' \ - -e 's|DEFINE UNIX_IASL_BIN = /usr/bin/iasl|DEFINE UNIX_IASL_BIN = ${iasl}/bin/iasl|' + prePatch = '' + rm -rf BaseTools + ln -sv ${edk2}/BaseTools BaseTools + ''; + configurePhase = '' + runHook preConfigure export WORKSPACE="$PWD" - export EFI_SOURCE="$PWD/EdkCompatibilityPkg" - ln -sv ${edk2}/BaseTools BaseTools - ln -sv ${edk2}/EdkCompatibilityPkg EdkCompatibilityPkg . ${edk2}/edksetup.sh BaseTools + runHook postConfigure ''; - buildPhase = " - build - "; + buildPhase = '' + runHook preBuild + build -a ${targetArch} -b RELEASE -t GCC5 -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags + runHook postBuild + ''; - installPhase = "mv -v Build/*/* $out"; - } // (removeAttrs attrs [ "buildInputs" ] ); + installPhase = '' + runHook preInstall + mv -v Build/*/* $out + runHook postInstall + ''; + } // removeAttrs attrs [ "buildInputs" ]); }; }; diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix index 98cc2804f600a..44d784133f5f0 100644 --- a/pkgs/development/compilers/fasm/bin.nix +++ b/pkgs/development/compilers/fasm/bin.nix @@ -3,11 +3,11 @@ stdenvNoCC.mkDerivation rec { name = "fasm-bin-${version}"; - version = "1.73.15"; + version = "1.73.16"; src = fetchurl { url = "https://flatassembler.net/fasm-${version}.tgz"; - sha256 = "0yc30y4hkr226629347gcrzi153f10hcp5q7bm3q6ir3gx35xa39"; + sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k"; }; installPhase = '' diff --git a/pkgs/development/compilers/flux/default.nix b/pkgs/development/compilers/flux/default.nix new file mode 100644 index 0000000000000..c599c9f8baf5d --- /dev/null +++ b/pkgs/development/compilers/flux/default.nix @@ -0,0 +1,21 @@ +{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig }: + +stdenv.mkDerivation rec { + pname = "flux"; + version = "2013-09-20"; + + src = fetchFromGitHub { + owner = "deniskropp"; + repo = pname; + rev = "e45758aa9384b9740ff021ea952399fd113eb0e9"; + sha256 = "11f3ypg0sdq5kj69zgz6kih1yrzgm48r16spyvzwvlswng147410"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + meta = with lib; { + description = "An interface description language used by DirectFB"; + homepage = "https://github.com/deniskropp/flux"; + license = licenses.mit; + }; +} diff --git a/pkgs/development/compilers/fsharp41/default.nix b/pkgs/development/compilers/fsharp41/default.nix index b41c32be18f7f..e497deb2e873b 100644 --- a/pkgs/development/compilers/fsharp41/default.nix +++ b/pkgs/development/compilers/fsharp41/default.nix @@ -1,14 +1,14 @@ # Temporaririly avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it -{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, dotnetbuildhelpers, dotnetPackages }: +{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, msbuild, dotnetbuildhelpers, dotnetPackages }: stdenv.mkDerivation rec { pname = "fsharp"; - version = "4.1.7"; + version = "4.1.34"; src = fetchurl { url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz"; - sha256 = "0rfkrk4mzi4w54mfqilvng9ar5swhmnwhsyjc54rx3fd0np3jiyl"; + sha256 = "0cv6p5pin962vhbpsji40nkckkag5c96kq5qihvg60pc1z821p0i"; }; nativeBuildInputs = [ pkgconfig ]; @@ -17,12 +17,16 @@ stdenv.mkDerivation rec { automake which mono + msbuild dotnetbuildhelpers dotnetPackages.FsCheck262 dotnetPackages.FSharpCompilerTools - dotnetPackages.FSharpCore + dotnetPackages.FSharpCore302 + dotnetPackages.FSharpCore3125 + dotnetPackages.FSharpCore4001 + dotnetPackages.FSharpCore4117 dotnetPackages.FSharpData225 - dotnetPackages.FsLexYacc704 + dotnetPackages.FsLexYacc706 dotnetPackages.MicrosoftDiaSymReader dotnetPackages.MicrosoftDiaSymReaderPortablePdb dotnetPackages.NUnit350 @@ -31,6 +35,14 @@ stdenv.mkDerivation rec { dotnetPackages.SystemValueTuple ]; + # https://github.com/mono/mono/tree/fe0f311a848068ab2d17a9b9dd15326e5712d520/packaging/MacSDK/patches + # https://github.com/mono/mono/issues/7805 + patches = [ + ./fsharp-IsPathRooted-type-inference.patch + ./fsharp-string-switchName.patch + ./fsharp-path-overloads.patch + ]; + configurePhase = '' substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "${stdenv.shell}" ./autogen.sh --prefix $out @@ -47,24 +59,30 @@ stdenv.mkDerivation rec { mkdir packages ln -s ${dotnetPackages.FsCheck262}/lib/dotnet/FsCheck packages/FsCheck.2.6.2 - ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.4 - ln -s ${dotnetPackages.FSharpCore}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1 + ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.27 + ln -s ${dotnetPackages.FSharpCore302}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.3.0.2 + ln -s ${dotnetPackages.FSharpCore3125}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.3.1.2.5 + ln -s ${dotnetPackages.FSharpCore4001}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1 + ln -s ${dotnetPackages.FSharpCore4117}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.1.17 ln -s ${dotnetPackages.FSharpData225}/lib/dotnet/FSharp.Data/ packages/FSharp.Data.2.2.5 - ln -s ${dotnetPackages.FsLexYacc704}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.4 + ln -s ${dotnetPackages.FsLexYacc706}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.6 ln -s ${dotnetPackages.MicrosoftDiaSymReader}/lib/dotnet/Microsoft.DiaSymReader/ packages/Microsoft.DiaSymReader.1.1.0 ln -s ${dotnetPackages.MicrosoftDiaSymReaderPortablePdb}/lib/dotnet/Microsoft.DiaSymReader.PortablePdb/ packages/Microsoft.DiaSymReader.PortablePdb.1.2.0 ln -s ${dotnetPackages.NUnit350}/lib/dotnet/NUnit/ packages/NUnit.3.5.0 ln -s ${dotnetPackages.SystemCollectionsImmutable131}/lib/dotnet/System.Collections.Immutable/ packages/System.Collections.Immutable.1.3.1 ln -s ${dotnetPackages.SystemReflectionMetadata}/lib/dotnet/System.Reflection.Metadata/ packages/System.Reflection.Metadata.1.4.2 - ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.0 + ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.1 ''; - # Make sure the executables use the right mono binary, - # and set up some symlinks for backwards compatibility. + # Signing /home/jdanek/nix/nixpkgs/build/fss/fsharp-4.1.34/again/fsharp-4.1.34/Release/fsharp30/net40/bin/FSharp.Core.dll with Mono key + # ERROR: Unknown error during processing: System.UnauthorizedAccessException: Access to the path + # "Release/fsharp30/net40/bin/FSharp.Core.dll" is denied. + preInstall = '' + find Release/ -name FSharp.Core.dll -exec chmod u+w {} \; + ''; + + # Set up some symlinks for backwards compatibility. postInstall = '' - substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono " - substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono " - substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono " ln -s $out/bin/fsharpc $out/bin/fsc ln -s $out/bin/fsharpi $out/bin/fsi for dll in "$out/lib/mono/fsharp"/FSharp*.dll @@ -73,6 +91,26 @@ stdenv.mkDerivation rec { done ''; + doInstallCheck = true; + installCheckPhase = '' + echo 'printf "int = %i" (6 * 7);;' > script.fsx + $out/bin/fsi --exec script.fsx | grep "int = 42" + $out/bin/fsharpi --exec script.fsx | grep "int = 42" + $out/bin/fsharpiAnyCpu --exec script.fsx | grep "int = 42" + + cat > answer.fs <<EOF +open System + +[<EntryPoint>] +let main argv = + printfn "int = %i" (6 * 7) + 0 +EOF + + $out/bin/fsc answer.fs + ${mono}/bin/mono answer.exe | grep "int = 42" + ''; + # To fix this error when running: # The file "/nix/store/path/whatever.exe" is an not a valid CIL image dontStrip = true; diff --git a/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch b/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch new file mode 100644 index 0000000000000..06dd3e82adc91 --- /dev/null +++ b/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch @@ -0,0 +1,21 @@ +commit c37fce5b3019c7a150203fc3a484885591b194de +Author: Alexis Christoforides <alexis@thenull.net> +Date: Sun Dec 2 00:10:24 2018 -0500 + + Help Path.IsPathRooted method overload selection. + + .NET Core, and Mono after merging https://github.com/mono/mono/pull/11342, introduce ambiguity with a new overload. + +diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx +index cc797e305..699c7bb93 100644 +--- a/src/scripts/scriptlib.fsx ++++ b/src/scripts/scriptlib.fsx +@@ -92,7 +92,7 @@ module Scripting = + + module Process = + +- let processExePath baseDir exe = ++ let processExePath baseDir (exe:string) = + if Path.IsPathRooted(exe) then exe + else + match Path.GetDirectoryName(exe) with diff --git a/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch b/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch new file mode 100644 index 0000000000000..f791317d0802d --- /dev/null +++ b/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch @@ -0,0 +1,22 @@ +diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx +index cc797e305..ae8a6d3cc 100644 +--- a/src/scripts/scriptlib.fsx ++++ b/src/scripts/scriptlib.fsx +@@ -59,12 +59,12 @@ module Scripting = + + let (++) a b = Path.Combine(a,b) + +- let getBasename a = Path.GetFileNameWithoutExtension a +- let getFullPath a = Path.GetFullPath a +- let getFilename a = Path.GetFileName a +- let getDirectoryName a = Path.GetDirectoryName a ++ let getBasename (path: string) = Path.GetFileNameWithoutExtension path ++ let getFullPath (path: string) = Path.GetFullPath path ++ let getFilename (path: string) = Path.GetFileName path ++ let getDirectoryName (path: string) = Path.GetDirectoryName path + +- let copyFile source dir = ++ let copyFile (source: string) dir = + let dest = + if not (Directory.Exists dir) then Directory.CreateDirectory dir |>ignore + let result = Path.Combine(dir, Path.GetFileName source) diff --git a/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch b/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch new file mode 100644 index 0000000000000..4b36eaabcafc0 --- /dev/null +++ b/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch @@ -0,0 +1,13 @@ +diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx +index cc797e305..5a7be7d2b 100644 +--- a/src/scripts/scriptlib.fsx ++++ b/src/scripts/scriptlib.fsx +@@ -36,7 +36,7 @@ module Scripting = + #if INTERACTIVE + let argv = Microsoft.FSharp.Compiler.Interactive.Settings.fsi.CommandLineArgs |> Seq.skip 1 |> Seq.toArray + +- let getCmdLineArgOptional switchName = ++ let getCmdLineArgOptional (switchName: string) = + argv |> Array.filter(fun t -> t.StartsWith(switchName)) |> Array.map(fun t -> t.Remove(0, switchName.Length).Trim()) |> Array.tryHead + + let getCmdLineArg switchName defaultValue = diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index 0d75de7557beb..506cfee7f498b 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -37,7 +37,7 @@ assert langGo -> langCC; with stdenv.lib; with builtins; -let version = "9.1.0"; +let version = "9.2.0"; inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -131,7 +131,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; - sha256 = "1817nc2bqdc251k0lpc51cimna7v68xjrnvqzvc50q3ax4s6i9kr"; + sha256 = "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa"; }; inherit patches; diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix index 423eaf02d8c4a..95bbab3cb3e11 100644 --- a/pkgs/development/compilers/ghc/8.8.1.nix +++ b/pkgs/development/compilers/ghc/8.8.1.nix @@ -86,12 +86,12 @@ let in stdenv.mkDerivation (rec { - version = "8.8.0.20190721"; + version = "8.8.1"; name = "${targetPrefix}ghc-${version}"; src = fetchurl { - url = "https://downloads.haskell.org/ghc/8.8.1-rc1/ghc-${version}-src.tar.xz"; - sha256 = "1ih76zpxk8ay84xjyaflqc754002y8pdaainqfvb4cnhy6lpb1br"; + url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "06kj4fhvijinjafiy4s873n60qly323rdlz9bmc79nhlp3cq72lh"; }; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/go/1.11.nix b/pkgs/development/compilers/go/1.11.nix index 1e370342ba3c6..32847a2671c53 100644 --- a/pkgs/development/compilers/go/1.11.nix +++ b/pkgs/development/compilers/go/1.11.nix @@ -30,11 +30,11 @@ in stdenv.mkDerivation rec { pname = "go"; - version = "1.11.12"; + version = "1.11.13"; src = fetchurl { url = "https://dl.google.com/go/go${version}.src.tar.gz"; - sha256 = "09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd"; + sha256 = "0xj0pbviikdf8g0sfz5hwxf7hwz8b8g5akqnrvyclhgnsdghjcjh"; }; # perl is used for testing go vet diff --git a/pkgs/development/compilers/go/1.12.nix b/pkgs/development/compilers/go/1.12.nix index 4560c94a64fda..817f3ab324d60 100644 --- a/pkgs/development/compilers/go/1.12.nix +++ b/pkgs/development/compilers/go/1.12.nix @@ -30,11 +30,11 @@ in stdenv.mkDerivation rec { pname = "go"; - version = "1.12.7"; + version = "1.12.9"; src = fetchurl { url = "https://dl.google.com/go/go${version}.src.tar.gz"; - sha256 = "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m"; + sha256 = "1z32imbwmpkzgyh5c3vi7rbvzbq94xjk5qi2xm9sccj7kknmc3mb"; }; # perl is used for testing go vet diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix new file mode 100644 index 0000000000000..84cb38aa8d119 --- /dev/null +++ b/pkgs/development/compilers/graalvm/enterprise-edition.nix @@ -0,0 +1,133 @@ +{ stdenv, requireFile, perl, unzip, glibc, zlib, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }: + +let + graalvm8-ee = stdenv.mkDerivation rec { + pname = "graalvm8-ee"; + version = "19.2.0"; + srcs = [ + (requireFile { + name = "graalvm-ee-linux-amd64-${version}.tar.gz"; + sha256 = "1j56lyids48zyjhxk8xl4niy8hk6qzi1aj7c55yfh62id8v6cpbw"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + (requireFile { + name = "native-image-installable-svm-svmee-linux-amd64-${version}.jar"; + sha256 = "07c25l27msxccqrbz4bknz0sxsl0z2k8990cdfkbrgxvhxspfnnm"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + (requireFile { + name = "python-installable-svm-svmee-linux-amd64-${version}.jar"; + sha256 = "1c7kpz56w9p418li97ymixdwywscr85vhn7jkzxq71bj7ia7pxwz"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + (requireFile { + name = "ruby-installable-svm-svmee-linux-amd64-${version}.jar"; + sha256 = "13jfm5qpxqxz7f5n9yyvqrv1vwigifrjwk3hssp23maski2ssys1"; + url = "https://www.oracle.com/technetwork/graalvm/downloads/index.html"; + }) + ]; + nativeBuildInputs = [ unzip perl ]; + unpackPhase = '' + unpack_jar() { + jar=$1 + unzip $jar -d $out + perl -ne 'use File::Path qw(make_path); + use File::Basename qw(dirname); + if (/^(.+) = (.+)$/) { + make_path dirname("$ENV{out}/$1"); + system "ln -s $2 $ENV{out}/$1"; + }' $out/META-INF/symlinks + perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) { + my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4 eq 'x' ? 0100 : 0) + + ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7 eq 'x' ? 0010 : 0) + + ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0); + chmod $mode, "$ENV{out}/$1"; + }' $out/META-INF/permissions + rm -rf $out/META-INF + } + + mkdir -p $out + arr=($srcs) + tar xf ''${arr[0]} -C $out --strip-components=1 + unpack_jar ''${arr[1]} + unpack_jar ''${arr[2]} + unpack_jar ''${arr[3]} + ''; + + installPhase = '' + # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html + substituteInPlace $out/jre/lib/security/java.security \ + --replace file:/dev/random file:/dev/./urandom \ + --replace NativePRNGBlocking SHA1PRNG + + # provide libraries needed for static compilation + for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do + ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f) + done + ''; + + dontStrip = true; + + preFixup = '' + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat <<EOF > $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi + EOF + ''; + + postFixup = '' + rpath="$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64:${ + stdenv.lib.strings.makeLibraryPath [ glibc xorg.libXxf86vm xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender + glib zlib alsaLib fontconfig freetype pango gtk3 gtk2 cairo gdk-pixbuf atk ffmpeg libGL ]}" + + for f in $(find $out -type f -perm -0100); do + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true + patchelf --set-rpath "$rpath" "$f" || true + done + + for f in $(find $out -type f -perm -0100); do + if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi + done + ''; + + propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables + + doInstallCheck = true; + installCheckPhase = '' + echo ${stdenv.lib.escapeShellArg '' + public class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello World"); + } + } + ''} > HelloWorld.java + $out/bin/javac HelloWorld.java + + # run on JVM with Graal Compiler + $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld + $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World' + + # Ahead-Of-Time compilation + $out/bin/native-image --no-server HelloWorld + ./helloworld + ./helloworld | fgrep 'Hello World' + + # Ahead-Of-Time compilation with --static + $out/bin/native-image --no-server --static HelloWorld + ./helloworld + ./helloworld | fgrep 'Hello World' + ''; + + passthru.home = graalvm8-ee; + + meta = with stdenv.lib; { + homepage = https://www.graalvm.org/; + description = "High-Performance Polyglot VM"; + license = licenses.unfree; + maintainers = with maintainers; [ volth hlolli ]; + platforms = [ "x86_64-linux" ]; + }; + }; +in + graalvm8-ee diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix index a679eda330664..3cd9daee14162 100644 --- a/pkgs/development/compilers/julia/1.0.nix +++ b/pkgs/development/compilers/julia/1.0.nix @@ -1,8 +1,8 @@ import ./shared.nix { majorVersion = "1"; minorVersion = "0"; - maintenanceVersion = "3"; - src_sha256 = "0666chsc19wx02k5m1yilf6wbc9bw27ay8p1d00jkh8m0jkrpf7l"; + maintenanceVersion = "4"; + src_sha256 = "1dfx68wbrrzpbh74rla7i2g3r5z6wa1pxq3ahyfm5m27vfyjbkhg"; libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e"; libuvSha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs"; diff --git a/pkgs/development/compilers/julia/1.1.nix b/pkgs/development/compilers/julia/1.1.nix index a868f949d27c4..5be34b4c4b4cb 100644 --- a/pkgs/development/compilers/julia/1.1.nix +++ b/pkgs/development/compilers/julia/1.1.nix @@ -1,8 +1,8 @@ import ./shared.nix { majorVersion = "1"; minorVersion = "1"; - maintenanceVersion = "0"; - src_sha256 = "08fyck4qcdv9nnrdqh1wb7lb8pkkikh67xx5lc872sjl9w3p0sak"; + maintenanceVersion = "1"; + src_sha256 = "1yqjd0n42xf9hzxpvc9vysyjj98p42by216jkdqakdy7dkjcmnhq"; libuvVersion = "2348256acf5759a544e5ca7935f638d2bc091d60"; libuvSha256 = "1363f4vqayfcv5zqg07qmzjff56yhad74k16c22ian45lram8mv8"; diff --git a/pkgs/development/compilers/mono/6.nix b/pkgs/development/compilers/mono/6.nix new file mode 100644 index 0000000000000..ec91d7e979c1a --- /dev/null +++ b/pkgs/development/compilers/mono/6.nix @@ -0,0 +1,9 @@ +{ callPackage, Foundation, libobjc }: + +callPackage ./generic.nix (rec { + inherit Foundation libobjc; + version = "6.0.0.313"; + srcArchiveSuffix = "tar.xz"; + sha256 = "0l0cd6q5xh1vdm6zr78rkfqdsmrgzanjgpxvgig0pyd3glfyjim9"; + enableParallelBuilding = true; +}) diff --git a/pkgs/development/compilers/mono/generic.nix b/pkgs/development/compilers/mono/generic.nix index ecb687e96e574..9a2f01b9f3d5f 100644 --- a/pkgs/development/compilers/mono/generic.nix +++ b/pkgs/development/compilers/mono/generic.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which, enableParallelBuilding ? true }: +{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which +, enableParallelBuilding ? true +, srcArchiveSuffix ? "tar.bz2" +}: let llvm = callPackage ./llvm.nix { }; @@ -9,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchurl { inherit sha256; - url = "https://download.mono-project.com/sources/mono/${pname}-${version}.tar.bz2"; + url = "https://download.mono-project.com/sources/mono/${pname}-${version}.${srcArchiveSuffix}"; }; buildInputs = diff --git a/pkgs/development/compilers/mosml/default.nix b/pkgs/development/compilers/mosml/default.nix index bc79a64fd7701..19324593a30ca 100644 --- a/pkgs/development/compilers/mosml/default.nix +++ b/pkgs/development/compilers/mosml/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { buildInputs = [ gmp perl ]; - makeFlags = "PREFIX=$(out)"; + makeFlags = [ "PREFIX=$(out)" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ]; src = fetchurl { url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; homepage = https://mosml.org/; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ vaibhavsagar ]; }; } diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix index d32d3fa67f1d3..c1e01ef77828c 100644 --- a/pkgs/development/compilers/nextpnr/default.nix +++ b/pkgs/development/compilers/nextpnr/default.nix @@ -2,58 +2,44 @@ , boost, python3, eigen , icestorm, trellis -# TODO(thoughtpolice) Currently the GUI build seems broken at runtime on my -# laptop (and over a remote X server on my server...), so mark it broken for -# now, with intent to fix later. -, enableGui ? false -, qtbase, wrapQtAppsHook +, enableGui ? true +, wrapQtAppsHook +, qtbase }: let boostPython = boost.override { python = python3; enablePython = true; }; - - # This is a massive hack. For now, Trellis doesn't really support - # installation through an already-built package; you have to build it once to - # get the tools, then reuse the build directory to build nextpnr -- the - # 'install' phase doesn't install everything it needs. This will be fixed in - # the future but for now we can do this horrific thing. - trellisRoot = trellis.overrideAttrs (_: { - installPhase = '' - mkdir -p $out - cp *.so .. - cd ../../.. && cp -R trellis database $out/ - ''; - }); in -stdenv.mkDerivation rec { +with stdenv; mkDerivation rec { pname = "nextpnr"; - version = "2019.08.10"; + version = "2019.08.21"; src = fetchFromGitHub { owner = "yosyshq"; repo = "nextpnr"; - rev = "3f26cf50767143e48d29ae691b2a0052c359eb15"; - sha256 = "1gv84svw56ass9idbzh17h3yxkk9ydr40ijf9w72gf72rbixszdr"; + rev = "c192ba261d77ad7f0a744fb90b01e4a5b63938c4"; + sha256 = "0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf"; }; nativeBuildInputs = [ cmake ] - ++ (stdenv.lib.optional enableGui wrapQtAppsHook); + ++ (lib.optional enableGui wrapQtAppsHook); buildInputs = [ boostPython python3 eigen ] - ++ (stdenv.lib.optional enableGui qtbase); + ++ (lib.optional enableGui qtbase); enableParallelBuilding = true; cmakeFlags = [ "-DARCH=generic;ice40;ecp5" "-DICEBOX_ROOT=${icestorm}/share/icebox" - "-DTRELLIS_ROOT=${trellisRoot}/trellis" + "-DTRELLIS_ROOT=${trellis}/share/trellis" + "-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis" "-DUSE_OPENMP=ON" # warning: high RAM usage "-DSERIALIZE_CHIPDB=OFF" # use PyPy for icestorm if enabled "-DPYTHON_EXECUTABLE=${icestorm.pythonInterp}" - ] ++ (stdenv.lib.optional (!enableGui) "-DBUILD_GUI=OFF"); + ] ++ (lib.optional (!enableGui) "-DBUILD_GUI=OFF"); # Fix the version number. This is a bit stupid (and fragile) in practice # but works ok. We should probably make this overrideable upstream. @@ -62,13 +48,18 @@ stdenv.mkDerivation rec { --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}' ''; - meta = with stdenv.lib; { + + postFixup = lib.optionalString enableGui '' + wrapQtApp $out/bin/nextpnr-generic + wrapQtApp $out/bin/nextpnr-ice40 + wrapQtApp $out/bin/nextpnr-ecp5 + ''; + + meta = with lib; { description = "Place and route tool for FPGAs"; homepage = https://github.com/yosyshq/nextpnr; license = licenses.isc; - platforms = platforms.linux; - maintainers = with maintainers; [ thoughtpolice ]; - - broken = enableGui; + platforms = platforms.all; + maintainers = with maintainers; [ thoughtpolice emily ]; }; } diff --git a/pkgs/development/compilers/owl-lisp/default.nix b/pkgs/development/compilers/owl-lisp/default.nix index 0625e2d8bbc2d..80ea9eb4c0b86 100644 --- a/pkgs/development/compilers/owl-lisp/default.nix +++ b/pkgs/development/compilers/owl-lisp/default.nix @@ -1,33 +1,31 @@ -{ stdenv, fetchFromGitHub, coreutils, which }: +{ stdenv, fetchFromGitLab, coreutils, which }: stdenv.mkDerivation rec { pname = "owl-lisp"; - version = "0.1.16"; + version = "0.1.19"; - src = fetchFromGitHub { - owner = "aoh"; - repo = "owl-lisp"; + src = fetchFromGitLab { + owner = "owl-lisp"; + repo = "owl"; rev = "v${version}"; - sha256 = "1qp6p48bmlyn83rqi6k3d098dg4cribavg5rd4x17z37i181vxvj"; + sha256 = "1bgjd2gkr5risfcc401rlr5fc82gwm4r2gpp9gzkg9h64acivkjx"; }; nativeBuildInputs = [ which ]; prePatch = '' - substituteInPlace Makefile --replace /usr $out - - for f in tests/run tests/exec.sh ; do - substituteInPlace $f --replace /bin/echo ${coreutils}/bin/echo - done + substituteInPlace Makefile \ + --replace /usr $out ''; # tests are run as part of the compilation process doCheck = false; meta = with stdenv.lib; { - description = "A functional lisp"; - homepage = https://github.com/aoh/owl-lisp; + description = "A functional Scheme for world domination"; + homepage = "https://gitlab.com/owl-lisp/owl"; license = licenses.mit; maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index fb04239dbd4b8..a39cd785cf7c7 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -59,12 +59,14 @@ pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages_5.stdenv; }; pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmPackages_5.stdenv; }; }); + rustfmt = self.callPackage ./rustfmt.nix { inherit Security; }; cargo = self.callPackage ./cargo.nix { # Use boot package set to break cycle rustPlatform = bootRustPlatform; inherit CoreFoundation Security; }; clippy = self.callPackage ./clippy.nix { inherit Security; }; + rls = self.callPackage ./rls { inherit CoreFoundation Security; }; }); }; } diff --git a/pkgs/development/compilers/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix new file mode 100644 index 0000000000000..470611242e073 --- /dev/null +++ b/pkgs/development/compilers/rust/rls/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, rustPlatform +, openssh, openssl, pkgconfig, cmake, zlib, curl, libiconv +, CoreFoundation, Security }: + +rustPlatform.buildRustPackage rec { + pname = "rls"; + inherit (rustPlatform.rust.rustc) src version; + + # changes hash of vendor directory otherwise + dontUpdateAutotoolsGnuConfigScripts = true; + + cargoVendorDir = "vendor"; + preBuild = '' + pushd src/tools/rls + # client tests are flaky + rm tests/client.rs + ''; + + # a nightly compiler is required unless we use this cheat code. + RUSTC_BOOTSTRAP=1; + + # rls-rustc links to rustc_private crates + CARGO_BUILD_RUSTFLAGS = if stdenv.isDarwin then "-C rpath" else null; + + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ openssh openssl curl zlib libiconv ] + ++ (stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security ]); + + doCheck = true; + + preInstall = "popd"; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/rls --version + ''; + + meta = with stdenv.lib; { + description = "Rust Language Server - provides information about Rust programs to IDEs and other tools"; + homepage = https://github.com/rust-lang/rls/; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ symphorien ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/rust/rustfmt.nix b/pkgs/development/compilers/rust/rustfmt.nix new file mode 100644 index 0000000000000..537bdaf445cd7 --- /dev/null +++ b/pkgs/development/compilers/rust/rustfmt.nix @@ -0,0 +1,33 @@ +{ stdenv, rustPlatform, Security }: + +rustPlatform.buildRustPackage rec { + name = "rustfmt-${version}"; + inherit (rustPlatform.rust.rustc) version src; + + # the rust source tarball already has all the dependencies vendored, no need to fetch them again + cargoVendorDir = "vendor"; + preBuild = "pushd src/tools/rustfmt"; + preInstall = "popd"; + + # changes hash of vendor directory otherwise + dontUpdateAutotoolsGnuConfigScripts = true; + + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; + + # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler + RUSTC_BOOTSTRAP = 1; + + # we run tests in debug mode so tests look for a debug build of + # rustfmt. Anyway this adds nearly no compilation time. + preCheck = '' + cargo build + ''; + + meta = with stdenv.lib; { + description = "A tool for formatting Rust code according to style guidelines"; + homepage = https://github.com/rust-lang-nursery/rustfmt; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ globin basvandijk ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix index 6ab55fbd5c013..b0fdc8863784c 100644 --- a/pkgs/development/compilers/solc/default.nix +++ b/pkgs/development/compilers/solc/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchzip, boost, cmake, ncurses, python2 -, z3Support ? true, z3 ? null +, z3Support ? true, z3 ? null, cvc4Support ? true, cvc4 ? null +, cln ? null, gmp ? null }: -assert z3Support -> z3 != null; -assert z3Support -> stdenv.lib.versionAtLeast z3.version "4.6.0"; +assert z3Support -> z3 != null && stdenv.lib.versionAtLeast z3.version "4.6.0"; +assert cvc4Support -> cvc4 != null && cln != null && gmp != null; let jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz; @@ -16,12 +17,12 @@ in stdenv.mkDerivation rec { pname = "solc"; - version = "0.5.10"; + version = "0.5.11"; # upstream suggests avoid using archive generated by github src = fetchzip { url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz"; - sha256 = "1ns562h8blvv32lz462rf5835fs2hgn698mvi6ss5y7ar6k5y5xw"; + sha256 = "0679s5pqbfy7fgpb4f3ppgj8iafxb64g046v8vhp29mf3dsdcnyl"; }; patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ]; @@ -37,10 +38,14 @@ stdenv.mkDerivation rec { "-DBUILD_SHARED_LIBS=ON" ] ++ stdenv.lib.optionals (!z3Support) [ "-DUSE_Z3=OFF" + ] ++ stdenv.lib.optionals (!cvc4Support) [ + "-DUSE_CVC4=OFF" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost ] ++ stdenv.lib.optionals z3Support [ z3 ]; + buildInputs = [ boost ] + ++ stdenv.lib.optionals z3Support [ z3 ] + ++ stdenv.lib.optionals cvc4Support [ cvc4 cln gmp ]; checkInputs = [ ncurses python2 ]; # Test fails on darwin for unclear reason diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix index 94d0a4327d9d8..f21b2ae3cb80f 100644 --- a/pkgs/development/compilers/swift/default.nix +++ b/pkgs/development/compilers/swift/default.nix @@ -33,7 +33,7 @@ }: let - v_base = "5.0.1"; + v_base = "5.0.2"; version = "${v_base}-RELEASE"; version_friendly = "${v_base}"; @@ -51,7 +51,7 @@ let # For more inforation, see: https://github.com/apple/swift/pull/3594#issuecomment-234169759 clang = fetch { repo = "swift-clang"; - sha256 = "1ap26425zhn2sdw3m9snyrqhi4phv2fgblyv9wp8xppjlnjkax9k"; + sha256 = "046p7f4044ls8hhgklsz32md5jvxkaaim1d75n0fmnwap6di3n1q"; }; llvm = fetch { repo = "swift-llvm"; @@ -83,16 +83,16 @@ let }; foundation = fetch { repo = "swift-corelibs-foundation"; - sha256 = "11w0iapccrk13hjbrwylq8g71znrncnc3mrm345gvnjfgz08ffaq"; + sha256 = "1wys4xh7f6c7yjf210x41n2krmyi2qj1wpxbv0p48d230va1azj1"; }; libdispatch = fetch { repo = "swift-corelibs-libdispatch"; - sha256 = "1mgzsq3nfzbkssfkswzvvjgsbv2fx36i1r83d4nzw3di8spxmg32"; + sha256 = "0chnb0d4xjyn9wnc8bgimd5ji5igfyq891flgnqpfwr4y26496c1"; fetchSubmodules = true; }; swift = fetch { repo = "swift"; - sha256 = "02bv47pd0k0xy4k7q6c3flwxwkm2palnzvpr4w3nmvqk0flrbsq6"; + sha256 = "0fsq1y8dz4ssn90akvzj36cqyblalb09bjzy4ikqn67mb5x99wpb"; }; }; @@ -248,9 +248,6 @@ stdenv.mkDerivation rec { PREFIX=''${out/#\/} substituteInPlace swift-corelibs-xctest/build_script.py \ --replace usr "$PREFIX" - substituteInPlace swiftpm/Utilities/bootstrap \ - --replace \"usr\" \"$PREFIX\" \ - --replace usr/lib "$PREFIX/lib" ''; buildPhase = builder; diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix index cbccca34b4139..ad01fb4be290a 100644 --- a/pkgs/development/compilers/vlang/default.nix +++ b/pkgs/development/compilers/vlang/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, glfw, freetype, curl }: +{ stdenv, fetchFromGitHub, glfw, freetype, openssl }: stdenv.mkDerivation rec { pname = "vlang"; - version = "0.1.16"; + version = "0.1.18"; src = fetchFromGitHub { owner = "vlang"; repo = "v"; rev = "${version}"; - sha256 = "08zgwy9ac3wa5ixy8rdw6izpn1n1c3ydb9rl8z8graw0bgv719ma"; + sha256 = "0js92v2r1h4vaaha3z1spgi7qynlmr9vls41gxp284w4yhnjzv15"; }; # V compiler source translated to C for bootstrap. @@ -16,18 +16,17 @@ stdenv.mkDerivation rec { owner = "vlang"; repo = "vc"; rev = "${version}"; - sha256 = "0k6c7v3r3cirypsqbaq10qlgg41v19rsnc1ygam4il2p8rsmfwz3"; + sha256 = "0qx1drs1hr94w7vaaq5w8mkq7j1d3biffnmxkyz63yv8573k03bj"; }; enableParallelBuilding = true; - buildInputs = [ glfw freetype curl ]; + buildInputs = [ glfw freetype openssl ]; buildPhase = '' runHook preBuild - cc -std=gnu11 -w -o v $vc/v.c -lm + cc -std=gnu11 $CFLAGS -w -o v $vc/v.c -lm $LDFLAGS ./v -prod -o v compiler - # -fPIC -pie required for examples/hot_code_reloading - make CFLAGS+="-fPIC -pie" thirdparty + make thirdparty runHook postBuild ''; diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index aaa8628efbe93..467d4e3b49ebe 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -8,14 +8,14 @@ with builtins; stdenv.mkDerivation rec { pname = "yosys"; - version = "2019.08.13"; + version = "2019.08.21"; srcs = [ (fetchFromGitHub { owner = "yosyshq"; repo = "yosys"; - rev = "19d6b8846f55b4c7be705619f753bec86deadac8"; - sha256 = "185sbkxajx3k9j03n0cxq2qvzwfwdbcxp19h8vnk7ghd5y9gp602"; + rev = "fe1b2337fd7950e1d563be5b8ccbaa81688261e4"; + sha256 = "0z7sngc2z081yyhzh8c2kchg48sp2333hn1wa94q5vsgnyzlqrdw"; name = "yosys"; }) @@ -40,10 +40,14 @@ stdenv.mkDerivation rec { patchPhase = '' substituteInPlace ../yosys-abc/Makefile \ - --replace 'CC := gcc' "" + --replace 'CC := gcc' "" \ + --replace 'CXX := g++' "" substituteInPlace ./Makefile \ --replace 'CXX = clang' "" \ - --replace 'ABCMKARGS = CC="$(CXX)"' 'ABCMKARGS =' \ + --replace 'LD = clang++' 'LD = $(CXX)' \ + --replace 'CXX = gcc' "" \ + --replace 'LD = gcc' 'LD = $(CXX)' \ + --replace 'ABCMKARGS = CC="$(CXX)" CXX="$(CXX)"' 'ABCMKARGS =' \ --replace 'echo UNKNOWN' 'echo ${substring 0 10 (elemAt srcs 0).rev}' ''; @@ -71,7 +75,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.clifford.at/yosys/; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ]; - platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice emily ]; + platforms = stdenv.lib.platforms.all; }; } |