diff options
Diffstat (limited to 'pkgs/development/compilers')
55 files changed, 693 insertions, 212 deletions
diff --git a/pkgs/development/compilers/acme/default.nix b/pkgs/development/compilers/acme/default.nix new file mode 100644 index 00000000000..c5a997ad75b --- /dev/null +++ b/pkgs/development/compilers/acme/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchsvn }: + +stdenv.mkDerivation rec { + pname = "acme"; + version = "120"; + + src = fetchsvn { + url = "svn://svn.code.sf.net/p/acme-crossass/code-0/trunk"; + rev = version; + sha256 = "0w17b8f8bis22m6l5bg8qg8nniy20f8yg2xmzjipblmc39vpv6s2"; + }; + + sourceRoot = "code-0-r${src.rev}/src"; + + makeFlags = [ "BINDIR=$(out)/bin" ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace "= gcc" "?= gcc" + ''; + + meta = with stdenv.lib; { + description = "A multi-platform cross assembler for 6502/6510/65816 CPUs."; + homepage = "https://sourceforge.net/projects/acme-crossass/"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ OPNA2608 ]; + }; +} diff --git a/pkgs/development/compilers/as31/default.nix b/pkgs/development/compilers/as31/default.nix deleted file mode 100644 index b70fde00e15..00000000000 --- a/pkgs/development/compilers/as31/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv, fetchpatch, fetchurl, yacc }: - -let - - version = "2.3.1"; - -in stdenv.mkDerivation { - pname = "as31"; - inherit version; - src = fetchurl { - name = "as31-${version}.tar.gz"; # Nix doesn't like the colons in the URL - url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:as31-${version}.tar.gz"; - sha256 = "0mbk6z7z03xb0r0ccyzlgkjdjmdzknck4yxxmgr9k7v8f5c348fd"; - }; - - buildInputs = [ yacc ]; - - patches = [ - (fetchpatch { - name = "CVE-2012-0808.patch"; - url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=655496;filename=as31-mkstemps.patch;msg=5"; - sha256 = "0iia4wa8m141bwz4588yxb1dp2qwhapcii382sncm6jvwyngwh21"; - }) - ]; - - preConfigure = '' - chmod +x ./configure - ''; - - postConfigure = '' - rm as31/parser.c - ''; - - meta = with stdenv.lib; { - homepage = http://wiki.erazor-zone.de/wiki:projects:linux:as31; - description = "An 8031/8051 assembler by Ken Stauffer and Theo Deraadt which produces a variety of object code output formats"; - maintainers = with maintainers; [ aneeshusa ]; - platforms = with platforms; unix; - }; -} diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix index 0efdabcde2e..5204932448b 100644 --- a/pkgs/development/compilers/closure/default.nix +++ b/pkgs/development/compilers/closure/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "closure-compiler"; - version = "20200224"; + version = "20200315"; src = fetchurl { url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz"; - sha256 = "0qlnpnd64rrlyz7ybdnp7zk5ns2s0071zs1fcrcq9ba2lnhfbmmb"; + sha256 = "0akif1wgsyyqrfkidkwhw47dsx471h3b4zsjhnh4rf6kv7by3q65"; }; sourceRoot = "."; diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix index 3a6c5e9c2c7..1665061125d 100644 --- a/pkgs/development/compilers/compcert/default.nix +++ b/pkgs/development/compilers/compcert/default.nix @@ -12,13 +12,13 @@ let in stdenv.mkDerivation rec { pname = "compcert"; - version = "3.6"; + version = "3.7"; src = fetchFromGitHub { owner = "AbsInt"; repo = "CompCert"; rev = "v${version}"; - sha256 = "1k9xhj7fgllhf7bn7rp3w6zfvs4clglnc4w39zp4678hrwvdcpha"; + sha256 = "1h4zhk9rrqki193nxs9vjvya7nl9yxjcf07hfqb6g77riy1vd2jr"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/compilers/computecpp/default.nix b/pkgs/development/compilers/computecpp/default.nix index 65cfcaa7ff6..36b71f3f38a 100644 --- a/pkgs/development/compilers/computecpp/default.nix +++ b/pkgs/development/compilers/computecpp/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "computecpp"; - version = "1.2.0"; + version = "1.3.0"; src = fetchzip { url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/ubuntu-16.04-64bit.tar.gz"; - sha256 = "191kwvzxfg1sbaq6aw6f84chi7bhsibb2a63zsyz3gz8m0c0syr5"; + sha256 = "1q6gqjpzz4a260gsd6mm1iv4z8ar3vxaypmgdwl8pb4i7kg6ykaz"; stripRoot = true; }; diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index fa9f72ebd04..3e2d3ce2ad2 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -52,14 +52,6 @@ let })); elm-instrument = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-instrument.nix {}) (drv: { - patches = [( - # GHC 8.8.1 and Cabal >= 1.25.0 support - # https://github.com/zwilias/elm-instrument/pull/3 - fetchpatch { - url = "https://github.com/turboMaCk/elm-instrument/commit/4272db2aea742c8b54509e536fa4f35d04f95da5.patch"; - sha256 = "1d1lc43lp3x5jfhlyb1b7na7nj1g1i1vc1np26pcisg9c2s7gjz6"; - } - )]; prePatch = '' sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place ''; diff --git a/pkgs/development/compilers/elm/packages/elm-instrument.nix b/pkgs/development/compilers/elm/packages/elm-instrument.nix index bd769016227..54077994fbd 100644 --- a/pkgs/development/compilers/elm/packages/elm-instrument.nix +++ b/pkgs/development/compilers/elm/packages/elm-instrument.nix @@ -3,15 +3,15 @@ , fetchgit, filepath, free, HUnit, indents, json, mtl , optparse-applicative, parsec, process, QuickCheck, quickcheck-io , split, stdenv, tasty, tasty-golden, tasty-hunit, tasty-quickcheck -, text, elm +, text }: mkDerivation { pname = "elm-instrument"; version = "0.0.7"; src = fetchgit { - url = "https://github.com/zwilias/elm-instrument.git"; - sha256 = "14yfzwsyvgc6rzn19sdmwk2mc1vma9hcljnmjnmlig8mp0271v56"; - rev = "31b527e405a6afdb25bb87ad7bd14f979e65cff7"; + url = "https://github.com/zwilias/elm-instrument"; + sha256 = "167d7l2547zxdj7i60r6vazznd9ichwc0bqckh3vrh46glkz06jv"; + rev = "63e15bb5ec5f812e248e61b6944189fa4a0aee4e"; fetchSubmodules = true; }; isLibrary = true; diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix new file mode 100644 index 00000000000..afc8fbd7f49 --- /dev/null +++ b/pkgs/development/compilers/flutter/default.nix @@ -0,0 +1,31 @@ +{ callPackage }: + +let + mkFlutter = opts: callPackage (import ./flutter.nix opts) { }; + getPatches = dir: + let files = builtins.attrNames (builtins.readDir dir); + in map (f: dir + ("/" + f)) files; +in { + stable = mkFlutter { + pname = "flutter"; + channel = "stable"; + version = "1.12.13+hotfix.9"; + sha256Hash = "1ql3zvmmk5zk47y30lajxaam04q6vr373dayq15jv4vpc0fzif1y"; + patches = getPatches ./patches/stable; + }; + beta = mkFlutter { + pname = "flutter-beta"; + channel = "beta"; + version = "1.15.17"; + sha256Hash = "0iil6y6y477dhjgzx54ab5m9nj0jg4xl8x4zzd9iwh8m756r7qsd"; + patches = getPatches ./patches/beta; + }; + dev = mkFlutter rec { + pname = "flutter-dev"; + channel = "dev"; + version = "1.17.0-dev.5.0"; + filename = "flutter_linux_${version}-${channel}.tar.xz"; + sha256Hash = "0ks2jf2bd42y2jsc91p33r57q7j3m94d8ihkmlxzwi53x1mwp0pk"; + patches = getPatches ./patches/beta; + }; +} diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix new file mode 100644 index 00000000000..fad2a646a16 --- /dev/null +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -0,0 +1,129 @@ +{ channel, pname, version, sha256Hash, patches +, filename ? "flutter_linux_v${version}-${channel}.tar.xz" }: + +{ bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv +, fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb +, libXcomposite, libXcursor, libXdamage, libXfixes, libGL, nspr, nss, systemd }: + +let + drvName = "flutter-${channel}-${version}"; + flutter = stdenv.mkDerivation { + name = "${drvName}-unwrapped"; + + src = fetchurl { + url = + "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}"; + sha256 = sha256Hash; + }; + + buildInputs = [ makeWrapper git ]; + + inherit patches; + + postPatch = '' + patchShebangs --build ./bin/ + find ./bin/ -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; + ''; + + buildPhase = '' + FLUTTER_ROOT=$(pwd) + FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools" + SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot" + STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp" + SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart" + DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk" + + DART="$DART_SDK_PATH/bin/dart" + PUB="$DART_SDK_PATH/bin/pub" + + HOME=../.. # required for pub upgrade --offline, ~/.pub-cache + # path is relative otherwise it's replaced by /build/flutter + + (cd "$FLUTTER_TOOLS_DIR" && "$PUB" upgrade --offline) + + local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)" + "$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" + echo "$revision" > "$STAMP_PATH" + echo -n "${version}" > version + + rm -rf bin/cache/{artifacts,downloads} + rm -f bin/cache/*.stamp + ''; + + installPhase = '' + mkdir -p $out + cp -r . $out + ''; + }; + + # Wrap flutter inside an fhs user env to allow execution of binary, + # like adb from $ANDROID_HOME or java from android-studio. + fhsEnv = buildFHSUserEnv { + name = "${drvName}-fhs-env"; + multiPkgs = pkgs: [ + # Flutter only use these certificates + (runCommand "fedoracert" { } '' + mkdir -p $out/etc/pki/tls/ + ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs + '') + pkgs.zlib + ]; + targetPkgs = pkgs: + with pkgs; [ + bash + curl + git + unzip + which + xz + + # flutter test requires this lib + libGLU + + # for android emulator + alsaLib + dbus + expat + libpulseaudio + libuuid + libX11 + libxcb + libXcomposite + libXcursor + libXdamage + libXfixes + libGL + nspr + nss + systemd + ]; + }; + +in runCommand drvName { + startScript = '' + #!${bash}/bin/bash + export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"} + export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1 + ${fhsEnv}/bin/${drvName}-fhs-env ${flutter}/bin/flutter --no-version-check "$@" + ''; + preferLocalBuild = true; + allowSubstitutes = false; + passthru = { unwrapped = flutter; }; + meta = with stdenv.lib; { + description = + "Flutter is Google's SDK for building mobile, web and desktop with Dart."; + longDescription = '' + Flutter is Google’s UI toolkit for building beautiful, + natively compiled applications for mobile, web, and desktop from a single codebase. + ''; + homepage = "https://flutter.dev"; + license = licenses.bsd3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ babariviere ]; + }; +} '' + mkdir -p $out/bin + + echo -n "$startScript" > $out/bin/${pname} + chmod +x $out/bin/${pname} +'' diff --git a/pkgs/development/compilers/flutter/patches/beta/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/beta/disable-auto-update.patch new file mode 100644 index 00000000000..42c09c805cb --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/beta/disable-auto-update.patch @@ -0,0 +1,31 @@ +diff --git a/bin/flutter b/bin/flutter +index e0c18e235..2c3fb7ddd 100755 +--- a/bin/flutter ++++ b/bin/flutter +@@ -185,8 +185,6 @@ fi + # FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS" + # FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432" + +-(upgrade_flutter) 3< "$PROG_NAME" +- + # FLUTTER_TOOL_ARGS isn't quoted below, because it is meant to be considered as + # separate space-separated args. + "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@" +diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +index 99455ae64..f5b0cb59c 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -301,13 +301,6 @@ class FlutterCommandRunner extends CommandRunner<void> { + } + + _checkFlutterCopy(); +- try { +- await globals.flutterVersion.ensureVersionFile(); +- } on FileSystemException catch (e) { +- globals.printError('Failed to write the version file to the artifact cache: "$e".'); +- globals.printError('Please ensure you have permissions in the artifact cache directory.'); +- throwToolExit('Failed to write the version file'); +- } + final bool machineFlag = topLevelResults['machine'] as bool; + if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) { + await globals.flutterVersion.checkFlutterVersionFreshness(); diff --git a/pkgs/development/compilers/flutter/patches/beta/move-cache.patch b/pkgs/development/compilers/flutter/patches/beta/move-cache.patch new file mode 100644 index 00000000000..4672d4c625d --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/beta/move-cache.patch @@ -0,0 +1,63 @@ +diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart +index 8e511eefd..fbc7d6ac3 100644 +--- a/dev/devicelab/lib/framework/runner.dart ++++ b/dev/devicelab/lib/framework/runner.dart +@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async { + print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); + final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; + final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); +- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); ++ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); + copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); + if (!Platform.isWindows) { + await exec( +diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart +index 79b06949f..9040ba0a8 100644 +--- a/packages/flutter_tools/lib/src/asset.dart ++++ b/packages/flutter_tools/lib/src/asset.dart +@@ -6,6 +6,7 @@ import 'dart:async'; + + import 'package:yaml/yaml.dart'; + ++import 'base/common.dart'; + import 'base/context.dart'; + import 'base/file_system.dart'; + import 'base/utils.dart'; +@@ -325,7 +326,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { + for (final Map<dynamic, dynamic> font in family['fonts']) { + final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); + result.add(_Asset( +- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), ++ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), + relativeUri: Uri(path: entryUri.pathSegments.last), + entryUri: entryUri, + )); +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index 715189938..5afb2a0db 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -189,8 +189,14 @@ class Cache { + return; + } + assert(_lock == null); ++ ++ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); ++ if (!dir.existsSync()) { ++ dir.createSync(recursive: true); ++ globals.os.chmod(dir, '755'); ++ } + final File lockFile = +- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); ++ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile')); + try { + _lock = lockFile.openSync(mode: FileMode.write); + } on FileSystemException catch (e) { +@@ -290,7 +296,7 @@ class Cache { + if (_rootOverride != null) { + return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache')); + } else { +- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache')); ++ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter')); + } + } + diff --git a/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch b/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch new file mode 100644 index 00000000000..16fe504595f --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/stable/disable-auto-update.patch @@ -0,0 +1,31 @@ +diff --git a/bin/flutter b/bin/flutter +index 3955f8f39..1e7573d30 100755 +--- a/bin/flutter ++++ b/bin/flutter +@@ -185,8 +185,6 @@ fi + # FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS" + # FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432" + +-(upgrade_flutter) 3< "$PROG_NAME" +- + # FLUTTER_TOOL_ARGS isn't quoted below, because it is meant to be considered as + # separate space-separated args. + "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@" +diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +index 5e45819d9..ab748b059 100644 +--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart ++++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +@@ -377,13 +377,6 @@ class FlutterCommandRunner extends CommandRunner<void> { + } + + _checkFlutterCopy(); +- try { +- await FlutterVersion.instance.ensureVersionFile(); +- } on FileSystemException catch (e) { +- printError('Failed to write the version file to the artifact cache: "$e".'); +- printError('Please ensure you have permissions in the artifact cache directory.'); +- throwToolExit('Failed to write the version file'); +- } + if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool) { + await FlutterVersion.instance.checkFlutterVersionFreshness(); + } diff --git a/pkgs/development/compilers/flutter/patches/stable/move-cache.patch b/pkgs/development/compilers/flutter/patches/stable/move-cache.patch new file mode 100644 index 00000000000..e5719a2867f --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/stable/move-cache.patch @@ -0,0 +1,63 @@ +diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart +index 9fae74726..d88d6ecbb 100644 +--- a/dev/devicelab/lib/framework/runner.dart ++++ b/dev/devicelab/lib/framework/runner.dart +@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async { + print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)'); + final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; + final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); +- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); ++ recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); + copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); + if (!Platform.isWindows) { + await exec( +diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart +index e6216c737..5ab497092 100644 +--- a/packages/flutter_tools/lib/src/asset.dart ++++ b/packages/flutter_tools/lib/src/asset.dart +@@ -6,6 +6,7 @@ import 'dart:async'; + + import 'package:yaml/yaml.dart'; + ++import 'base/common.dart'; + import 'base/context.dart'; + import 'base/file_system.dart'; + import 'base/platform.dart'; +@@ -326,7 +327,7 @@ List<_Asset> _getMaterialAssets(String fontSet) { + for (Map<dynamic, dynamic> font in family['fonts']) { + final Uri entryUri = fs.path.toUri(font['asset'] as String); + result.add(_Asset( +- baseDir: fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), ++ baseDir: fs.path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), + relativeUri: Uri(path: entryUri.pathSegments.last), + entryUri: entryUri, + )); +diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart +index 5e1950b56..45585f9c0 100644 +--- a/packages/flutter_tools/lib/src/cache.dart ++++ b/packages/flutter_tools/lib/src/cache.dart +@@ -164,8 +164,14 @@ class Cache { + return; + } + assert(_lock == null); ++ ++ final Directory dir = fs.directory(fs.path.join(homeDirPath, '.cache', 'flutter')); ++ if (!dir.existsSync()) { ++ dir.createSync(recursive: true); ++ os.chmod(dir, '755'); ++ } + final File lockFile = +- fs.file(fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile')); ++ fs.file(fs.path.join(homeDirPath, '.cache', 'flutter', 'lockfile')); + try { + _lock = lockFile.openSync(mode: FileMode.write); + } on FileSystemException catch (e) { +@@ -239,7 +245,7 @@ class Cache { + if (_rootOverride != null) { + return fs.directory(fs.path.join(_rootOverride.path, 'bin', 'cache')); + } else { +- return fs.directory(fs.path.join(flutterRoot, 'bin', 'cache')); ++ return fs.directory(fs.path.join(homeDirPath, '.cache', 'flutter')); + } + } + diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix index cf13ab6f595..f160150d8b5 100644 --- a/pkgs/development/compilers/fpc/binary.nix +++ b/pkgs/development/compilers/fpc/binary.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "fpc-2.6.0-binary"; + name = "fpc-3.0.0-binary"; src = if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - url = "mirror://sourceforge/project/freepascal/Linux/2.6.0/fpc-2.6.0.i386-linux.tar"; - sha256 = "08yklvrfxvk59bxsd4rh1i6s3cjn0q06dzjs94h9fbq3n1qd5zdf"; + url = "mirror://sourceforge/project/freepascal/Linux/3.0.0/fpc-3.0.0.i386-linux.tar"; + sha256 = "0h3f1dgs1zsx7vvk9kg67anjvgw5sslfbmjblif7ishbcp3k3g5k"; } else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "mirror://sourceforge/project/freepascal/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar"; - sha256 = "0k9vi75k39y735fng4jc2vppdywp82j4qhzn7x4r6qjkad64d8lx"; + url = "mirror://sourceforge/project/freepascal/Linux/3.0.0/fpc-3.0.0.x86_64-linux.tar"; + sha256 = "1m2xx3nda45cb3zidbjgdr8kddd19zk0khvp7xxdlclszkqscln9"; } else throw "Not supported on ${stdenv.hostPlatform.system}."; diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index 7bddafc6ff5..a3f5e30aea8 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -3,20 +3,22 @@ let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in stdenv.mkDerivation rec { - version = "3.0.0"; + version = "3.0.4"; pname = "fpc"; src = fetchurl { url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz"; - sha256 = "1v40bjp0kvsi8y0mndqvvhnsqjfssl2w6wpfww51j4rxblfkp4fm"; + sha256 = "0xjyhlhz846jbnp12y68c7nq4xmp4i65akfbrjyf3r62ybk18rgn"; }; buildInputs = [ startFPC gawk ]; + glibc = stdenv.cc.libc.out; preConfigure = if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then '' sed -e "s@'/lib/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas + sed -e "s@/lib64[^']*@${glibc}/lib@" -i fpcsrc/compiler/systems/t_linux.pas '' else ""; makeFlags = [ "NOGDB=1" "FPC=${startFPC}/bin/fpc" ]; diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index 1b3f4d168ee..faf04085999 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { pname = "lazarus"; - version = "1.8.4"; + version = "2.0.6"; src = fetchurl { url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}.tar.gz"; - sha256 = "1s8hdip973fc1lynklddl0mvg2jd2lzkfk8hzb8jlchs6jn0362s"; + sha256 = "0v1ax6039nm2bksh646znrkah20ak2zmhaz5p3mz2p60y2qazkc2"; }; buildInputs = [ diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index f660a59a790..46918b1f0a1 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -43,7 +43,7 @@ with stdenv.lib; with builtins; let majorVersion = "9"; - version = "${majorVersion}.2.0"; + version = "${majorVersion}.3.0"; inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -76,7 +76,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; - sha256 = "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa"; + sha256 = "1la2yy27ziasyf0jvzk58y1i5b5bq2h176qil550bxhifs39gqbi"; }; inherit patches; @@ -245,12 +245,6 @@ stdenv.mkDerivation ({ inherit (stdenv) is64bit; - # In this particular combination it stopped creating lib output at all. - # TODO: perhaps find a better fix? (ideally understand what's going on) - postFixup = if crossStageStatic && targetPlatform.isMusl && targetPlatform.is32bit - then ''mkdir "$lib"'' - else null; - meta = { homepage = https://gcc.gnu.org/; license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+ diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index b153687980a..22a21e5b25c 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -201,11 +201,11 @@ postConfigure() { preInstall() { + mkdir -p "$out/${targetConfig}/lib" + mkdir -p "$lib/${targetConfig}/lib" # Make ‘lib64’ symlinks to ‘lib’. if [ -n "$is64bit" -a -z "$enableMultilib" ]; then - mkdir -p "$out/${targetConfig}/lib" ln -s lib "$out/${targetConfig}/lib64" - mkdir -p "$lib/${targetConfig}/lib" ln -s lib "$lib/${targetConfig}/lib64" fi } diff --git a/pkgs/development/compilers/ghc/8.10.1.nix b/pkgs/development/compilers/ghc/8.10.1.nix index bd67fae158a..9198d08cef4 100644 --- a/pkgs/development/compilers/ghc/8.10.1.nix +++ b/pkgs/development/compilers/ghc/8.10.1.nix @@ -88,12 +88,12 @@ let in stdenv.mkDerivation (rec { - version = "8.10.0.20200123"; + version = "8.10.1"; name = "${targetPrefix}ghc-${version}"; src = fetchurl { - url = "https://downloads.haskell.org/ghc/8.10.1-rc1/ghc-${version}-src.tar.xz"; - sha256 = "162s5g33s918i12qfcqdj5wanc10xg07g5lq3gpm5j7c1v0y1zrf"; + url = "https://downloads.haskell.org/ghc/8.10.1/ghc-${version}-src.tar.xz"; + sha256 = "1xgdl6ig5jzli3bg054vfryfkg0y6wggf68g66c32sr67bw0ffsf"; }; enableParallelBuilding = true; @@ -149,15 +149,21 @@ stdenv.mkDerivation (rec { # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + ] ++ stdenv.lib.optionals (libffi != null) [ + "--with-system-libffi" + "--with-ffi-includes=${targetPackages.libffi.dev}/include" + "--with-ffi-libraries=${targetPackages.libffi.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ - "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + "--with-gmp-includes=${targetPackages.gmp.dev}/include" + "--with-gmp-libraries=${targetPackages.gmp.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ - "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" + "--with-iconv-includes=${libiconv}/include" + "--with-iconv-libraries=${libiconv}/lib" ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" ] ++ stdenv.lib.optionals useLdGold [ diff --git a/pkgs/development/compilers/ghc/8.2.2-binary.nix b/pkgs/development/compilers/ghc/8.2.2-binary.nix index 1f24b9a1ff2..9f546bcb541 100644 --- a/pkgs/development/compilers/ghc/8.2.2-binary.nix +++ b/pkgs/development/compilers/ghc/8.2.2-binary.nix @@ -1,12 +1,15 @@ { stdenv, substituteAll , fetchurl, perl, gcc, llvm , ncurses5, gmp, glibc, libiconv +, llvmPackages }: # Prebuilt only does native assert stdenv.targetPlatform == stdenv.hostPlatform; let + useLLVM = !stdenv.targetPlatform.isx86; + libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv); @@ -53,7 +56,7 @@ stdenv.mkDerivation rec { or (throw "cannot bootstrap GHC on this platform")); nativeBuildInputs = [ perl ]; - buildInputs = stdenv.lib.optionals (stdenv.targetPlatform.isAarch32 || stdenv.targetPlatform.isAarch64) [ llvm ]; + propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ]; # Cannot patchelf beforehand due to relative RPATHs that anticipate # the final install location/ diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix index 4bebd63956e..57d6a108de0 100644 --- a/pkgs/development/compilers/ghc/8.4.4.nix +++ b/pkgs/development/compilers/ghc/8.4.4.nix @@ -96,7 +96,7 @@ stdenv.mkDerivation (rec { outputs = [ "out" "doc" ]; patches = [(fetchpatch { - url = "https://git.haskell.org/hsc2hs.git/patch/738f3666c878ee9e79c3d5e819ef8b3460288edf"; + url = "https://github.com/haskell/hsc2hs/commit/738f3666c878ee9e79c3d5e819ef8b3460288edf.diff"; sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3"; extraPrefix = "utils/hsc2hs/"; stripLen = 1; @@ -112,7 +112,7 @@ stdenv.mkDerivation (rec { }) ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch ++ stdenv.lib.optional (targetPlatform.isAarch32 || targetPlatform.isAarch64) (fetchpatch { - url = "https://git.haskell.org/ghc.git/patch/d8495549ba9d194815c2d0eaee6797fc7c00756a"; + url = "https://github.com/ghc/ghc/commit/d8495549ba9d194815c2d0eaee6797fc7c00756a.diff"; sha256 = "1yjcma507c609bcim4rnxq0gaj2dg4d001jklmbpbqpzqzxkn5sz"; }); diff --git a/pkgs/development/compilers/ghc/8.6.3-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix index fe576186b0e..97793d91289 100644 --- a/pkgs/development/compilers/ghc/8.6.3-binary.nix +++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix @@ -1,12 +1,15 @@ { stdenv , fetchurl, perl, gcc , ncurses5, gmp, glibc, libiconv +, llvmPackages }: # Prebuilt only does native assert stdenv.targetPlatform == stdenv.hostPlatform; let + useLLVM = !stdenv.targetPlatform.isx86; + libPath = stdenv.lib.makeLibraryPath ([ ncurses5 gmp ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv); @@ -24,27 +27,33 @@ let in stdenv.mkDerivation rec { - version = "8.6.3"; + version = "8.6.5"; name = "ghc-${version}-binary"; + # https://downloads.haskell.org/~ghc/8.6.5/ src = fetchurl ({ i686-linux = { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb8-linux.tar.xz"; - sha256 = "0bw8a7fxcbskf93rb4m542ff66vrmx5i5kj77qx37cbhijx70w5m"; + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; + sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w"; }; x86_64-linux = { - url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb8-linux.tar.xz"; - sha256 = "1m9gaga2pzi2cx5gvasg0rx1dlvr68gmi20l67652kag6xjsa719"; + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb9-linux.tar.xz"; + sha256 = "1pqlx6rdjs2110g0y1i9f8x18lmdizibjqd15f5xahcz39hgaxdw"; + }; + aarch64-linux = { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-aarch64-ubuntu18.04-linux.tar.xz"; + sha256 = "11n7l2a36i5vxzzp85la2555q4m34l747g0pnmd81cp46y85hlhq"; }; x86_64-darwin = { url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; - sha256 = "1hbzk57v45176kxcx848p5jn5p1xbp2129ramkbzsk6plyhnkl3r"; + sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz"; }; }.${stdenv.hostPlatform.system} or (throw "cannot bootstrap GHC on this platform")); nativeBuildInputs = [ perl ]; + propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ]; # Cannot patchelf beforehand due to relative RPATHs that anticipate # the final install location/ @@ -168,5 +177,5 @@ stdenv.mkDerivation rec { }; meta.license = stdenv.lib.licenses.bsd3; - meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; + meta.platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"]; } diff --git a/pkgs/development/compilers/go/1.12.nix b/pkgs/development/compilers/go/1.12.nix index 35bcfa36e99..3b4091bf114 100644 --- a/pkgs/development/compilers/go/1.12.nix +++ b/pkgs/development/compilers/go/1.12.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/go/1.13.nix b/pkgs/development/compilers/go/1.13.nix index aa881273032..36345bb0dab 100644 --- a/pkgs/development/compilers/go/1.13.nix +++ b/pkgs/development/compilers/go/1.13.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/go/1.14.nix b/pkgs/development/compilers/go/1.14.nix index 3651b936116..b8038a5d9dd 100644 --- a/pkgs/development/compilers/go/1.14.nix +++ b/pkgs/development/compilers/go/1.14.nix @@ -43,8 +43,7 @@ stdenv.mkDerivation rec { ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; + depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix index 0dd852a1ef1..c3c46de1fce 100644 --- a/pkgs/development/compilers/go/1.4.nix +++ b/pkgs/development/compilers/go/1.4.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ pcre ]; - propagatedBuildInputs = lib.optional stdenv.isDarwin Security; + depsTargetTargetPropagated = lib.optional stdenv.isDarwin Security; hardeningDisable = [ "all" ]; diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 3e10041c5c8..92b312ba19e 100644 --- a/pkgs/development/compilers/intel-graphics-compiler/default.nix +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -24,13 +24,13 @@ in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "1.0.3151"; + version = "1.0.3627"; src = fetchFromGitHub { owner = "intel"; repo = "intel-graphics-compiler"; rev = "igc-${version}"; - sha256 = "1c2ll563a2j4sv3r468i4lv158hkzywnyajyk7iyin7bhqhm2vzf"; + sha256 = "1x9fjvf7rbhil09am2v9j2jhwysdvwgshf9zidbirjgfrqn573h8"; }; nativeBuildInputs = [ clang cmake bison flex llvm python ]; diff --git a/pkgs/development/compilers/jwasm/default.nix b/pkgs/development/compilers/jwasm/default.nix index a9613de91eb..8ce55c75795 100644 --- a/pkgs/development/compilers/jwasm/default.nix +++ b/pkgs/development/compilers/jwasm/default.nix @@ -2,24 +2,30 @@ , cmake }: with stdenv.lib; -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "jwasm"; - version = "git-2017-11-22"; + version = "2.13"; src = fetchFromGitHub { owner = "JWasm"; repo = "JWasm"; - rev = "26f97c8b5c9d9341ec45538701116fa3649b7766"; + rev = version; sha256 = "0m972pc8vk8s9yv1pi85fsjgm6hj24gab7nalw2q04l0359nqi7w"; }; nativeBuildInputs = [ cmake ]; - installPhase = "mkdir -p $out/bin ; cp jwasm $out/bin/"; + installPhase = '' + install -Dpm755 jwasm -t $out/bin/ + install -Dpm644 $src/History.txt $src/Readme.txt \ + $src/Doc/enh.txt $src/Doc/fixes.txt \ + $src/Doc/gencode.txt $src/Doc/overview.txt \ + -t $out/share/doc/jwasm/ + ''; meta = { description = "A MASM-compatible x86 assembler"; - homepage = http://jwasm.github.io/; + homepage = "http://jwasm.github.io/"; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.darwin ++ platforms.linux; diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index 9a124ad8477..d4f37d4f5cc 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, makeWrapper, jre, unzip }: let - version = "1.3.70"; + version = "1.3.71"; in stdenv.mkDerivation { inherit version; pname = "kotlin"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; - sha256 = "1iw9pjacjdhhvriaz2kzf677csq2nfx66k5cickk79h7ywppi7bh"; + sha256 = "0jp7z2lys02d0wmycdlfg9c08ji4qvjaz2wzvrxjyvcwv7d7gnvs"; }; propagatedBuildInputs = [ jre ] ; diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix index c397d02038d..7ed716bf866 100644 --- a/pkgs/development/compilers/ldc/default.nix +++ b/pkgs/development/compilers/ldc/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, ninja, llvm_5, llvm_8, curl, tzdata -, python, libconfig, lit, gdb, unzip, darwin, bash +, libconfig, lit, gdb, unzip, darwin, bash , callPackage, makeWrapper, runCommand, targetPackages , bootstrapVersion ? false , version ? "1.17.0" @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja makeWrapper unzip ] ++ stdenv.lib.optionals (!bootstrapVersion) [ - bootstrapLdc python lit + bootstrapLdc lit lit.python ] ++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin) # https://github.com/NixOS/nixpkgs/issues/57120 diff --git a/pkgs/development/compilers/llvm/10/clang/default.nix b/pkgs/development/compilers/llvm/10/clang/default.nix index dfdc9f74e15..61008b5c12a 100644 --- a/pkgs/development/compilers/llvm/10/clang/default.nix +++ b/pkgs/development/compilers/llvm/10/clang/default.nix @@ -8,7 +8,7 @@ let pname = "clang"; inherit version; - src = fetch "clang" "0ap63qhz0j6m63l4njwp055xni4s71dsxqi1w5d2p93hbswaiiw2"; + src = fetch "clang" "08fbxa2a0kr3ni35ckppj0kyvlcyaywrhpqwcdrdy0z900mhcnw8"; unpackPhase = '' unpackFile $src diff --git a/pkgs/development/compilers/llvm/10/compiler-rt.nix b/pkgs/development/compilers/llvm/10/compiler-rt.nix index 8c870a610cc..02bbc17c967 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "compiler-rt"; inherit version; - src = fetch pname "1g067yx8qz0bmf00b2xqjqaayqj2xvrjp9smms3a16syj9m0hfri"; + src = fetch pname "0x9c531k6ww21s2mkdwqx1vbdjmx6d4wmfb8gdbj0wqa796sczba"; nativeBuildInputs = [ cmake python3 llvm ]; buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix index 574ab5ec4e7..462f246b89d 100644 --- a/pkgs/development/compilers/llvm/10/default.nix +++ b/pkgs/development/compilers/llvm/10/default.nix @@ -6,15 +6,14 @@ let release_version = "10.0.0"; - candidate = "rc5"; - version = "10.0.0${candidate}"; # differentiating these is important for rc's + version = release_version; # differentiating these (variables) is important for rc's fetch = name: sha256: fetchurl { - url = "https://prereleases.llvm.org/${release_version}/${candidate}/${name}-${version}.src.tar.xz"; + url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz"; inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "0x23q70c0xcwdhj0d66nisr8rqq69qcshrbb4si9pxfsm0zs9h3i"; + clang-tools-extra_src = fetch "clang-tools-extra" "074ija5s2jsdn0k035r2dzmryjmqxdnyg4xwvaqych2bazv8rpxc"; tools = stdenv.lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; }); diff --git a/pkgs/development/compilers/llvm/10/libc++/default.nix b/pkgs/development/compilers/llvm/10/libc++/default.nix index 18eae91d340..9e3529a046f 100644 --- a/pkgs/development/compilers/llvm/10/libc++/default.nix +++ b/pkgs/development/compilers/llvm/10/libc++/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { pname = "libc++"; inherit version; - src = fetch "libcxx" "0qw85sy3y1mcdrj8yd1j1gmskh0vs4xdgrx80niigizhr7030vxs"; + src = fetch "libcxx" "1isnj78diknh0nvd73mlq8p8g209f9bab2mbysq826bg2wzql3r7"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/pkgs/development/compilers/llvm/10/libc++abi.nix b/pkgs/development/compilers/llvm/10/libc++abi.nix index ba51f0f33f1..b58c12bd9ab 100644 --- a/pkgs/development/compilers/llvm/10/libc++abi.nix +++ b/pkgs/development/compilers/llvm/10/libc++abi.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { pname = "libc++abi"; inherit version; - src = fetch "libcxxabi" "15iclzxjqfjynqxjg8dahyr0gfg83blv9dm7z9hq5ipxw8x2sglf"; + src = fetch "libcxxabi" "1q8lrbh68a9v4lr88b8xsjpmwx5z96sa5wnkb92xx7ccm1ssq6z7"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; diff --git a/pkgs/development/compilers/llvm/10/libunwind.nix b/pkgs/development/compilers/llvm/10/libunwind.nix index 6016d0536bf..4e55b28c243 100644 --- a/pkgs/development/compilers/llvm/10/libunwind.nix +++ b/pkgs/development/compilers/llvm/10/libunwind.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { pname = "libunwind"; inherit version; - src = fetch pname "12c2fh63afav8rfmplfs628r74ksfs8fjls655rwjsrg1hk0gy3l"; + src = fetch pname "09n66dl9cc17d81qflj5h1l4garmhvzfi2lhcb7rx00l8z65xp09"; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/compilers/llvm/10/lld.nix b/pkgs/development/compilers/llvm/10/lld.nix index ab2dd8caee8..4bde3d74636 100644 --- a/pkgs/development/compilers/llvm/10/lld.nix +++ b/pkgs/development/compilers/llvm/10/lld.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "lld"; inherit version; - src = fetch pname "08zg546872b432qrx49i7k1c2vdq9yjvc7gnrvy2nywv0d2qf9nc"; + src = fetch pname "026pwcbczcg0j5c9h7hxxrn3ki81ia9m9sfn0sy0bvzffv2xg85r"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; diff --git a/pkgs/development/compilers/llvm/10/lldb.nix b/pkgs/development/compilers/llvm/10/lldb.nix index 12cb43bc504..46c991de817 100644 --- a/pkgs/development/compilers/llvm/10/lldb.nix +++ b/pkgs/development/compilers/llvm/10/lldb.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (rec { pname = "lldb"; inherit version; - src = fetch pname "0swv16n7gm12f399f7hxai1jh89s14h3yg7cci10yaiibpvwk73x"; + src = fetch pname "0ddikvc0kbqlqvsypsm9nhfwmyw4prp4rv49f0bgacyh5ssgq7yx"; patches = [ ./lldb-procfs.patch ]; diff --git a/pkgs/development/compilers/llvm/10/llvm.nix b/pkgs/development/compilers/llvm/10/llvm.nix index 0405958070a..73265419cfb 100644 --- a/pkgs/development/compilers/llvm/10/llvm.nix +++ b/pkgs/development/compilers/llvm/10/llvm.nix @@ -31,8 +31,8 @@ in stdenv.mkDerivation (rec { pname = "llvm"; inherit version; - src = fetch pname "1abfi0zqbcwxf68dk00szpjxkcd44589va243af8sg97hljq6709"; - polly_src = fetch "polly" "1fzg5934km69rwam6vgznk0p4slzhr0icwmj3jibw3p93ppa8k9r"; + src = fetch pname "1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz"; + polly_src = fetch "polly" "15sd3dq0w60jsb76pis09lkagj5iy43h9hg4kd9gx5l8cbnsdyrm"; unpackPhase = '' unpackFile $src diff --git a/pkgs/development/compilers/llvm/10/openmp.nix b/pkgs/development/compilers/llvm/10/openmp.nix index 1cdd4cc9bba..4dd45ba94e6 100644 --- a/pkgs/development/compilers/llvm/10/openmp.nix +++ b/pkgs/development/compilers/llvm/10/openmp.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "openmp"; inherit version; - src = fetch pname "0swif1plz7drjha6rdw02b60symsz95w62wxpiygbpdwsmhbbgam"; + src = fetch pname "1ymd13gj07x0b0vxziygm0p41vrq6nsgx837jqg9ll6h8ndg57rv"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/pkgs/development/compilers/matter-compiler/Gemfile.lock b/pkgs/development/compilers/matter-compiler/Gemfile.lock index ab1833b3cfe..230b99d91a6 100644 --- a/pkgs/development/compilers/matter-compiler/Gemfile.lock +++ b/pkgs/development/compilers/matter-compiler/Gemfile.lock @@ -10,4 +10,4 @@ DEPENDENCIES matter_compiler BUNDLED WITH - 1.17.2 + 2.1.4 diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix index afd08f6e96e..b0fbc2eb8d1 100644 --- a/pkgs/development/compilers/nextpnr/default.nix +++ b/pkgs/development/compilers/nextpnr/default.nix @@ -14,14 +14,14 @@ let in with stdenv; mkDerivation rec { pname = "nextpnr"; - version = "2020.02.04"; + version = "2020.03.25"; srcs = [ (fetchFromGitHub { owner = "YosysHQ"; repo = "nextpnr"; - rev = "ca733561873cd54be047ae30a94efcd71b3f8be5"; - sha256 = "176drrq6w53qbwmnksa1b22w9qz3gd1db9hy2lyv8svbcdxd9qwp"; + rev = "a3ede0293a50c910e7d96319b2084d50f2501a6b"; + sha256 = "0ikfjva4gqmlx6y7mjamg03ad7x9gnz32ahqv798ynd87svq10aq"; name = "nextpnr"; }) (fetchFromGitHub { diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index 316ddbfcb60..53854d4fa35 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "nim"; - version = "1.0.6"; + version = "1.2.0"; src = fetchurl { url = "https://nim-lang.org/download/${pname}-${version}.tar.xz"; - sha256 = "1cv6bxc7w21455c0pv0r2h64ljyzw266jsk1fsgiiyk2rx8mfkhk"; + sha256 = "TpRYOjc5ZYIYBeZl4KBfUvthCRZnbtsJFIlBQVY3xXU="; }; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/ocaml/4.09.nix b/pkgs/development/compilers/ocaml/4.09.nix index 4b56d82eba5..a093a244641 100644 --- a/pkgs/development/compilers/ocaml/4.09.nix +++ b/pkgs/development/compilers/ocaml/4.09.nix @@ -1,6 +1,9 @@ import ./generic.nix { major_version = "4"; minor_version = "09"; - patch_version = "0"; - sha256 = "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj"; + patch_version = "1"; + sha256 = "1aq5505lpa39garky2icgfv4c7ylpx3j623cz9bsz5c466d2kqls"; + + # Breaks build with Clang + hardeningDisable = [ "strictoverflow" ]; } diff --git a/pkgs/development/compilers/purescript/psc-package/default.nix b/pkgs/development/compilers/purescript/psc-package/default.nix index 908a8e943e7..0bebd5d2f50 100644 --- a/pkgs/development/compilers/purescript/psc-package/default.nix +++ b/pkgs/development/compilers/purescript/psc-package/default.nix @@ -1,27 +1,61 @@ -{ haskellPackages, mkDerivation, fetchFromGitHub, lib }: +# Based on https://github.com/justinwoo/easy-purescript-nix/blob/master/psc-package-simple.nix +{ stdenv, lib, fetchurl, gmp, zlib, libiconv, darwin, installShellFiles }: -with lib; +let + dynamic-linker = stdenv.cc.bintools.dynamicLinker; + +in +stdenv.mkDerivation rec { + pname = "psc-package-simple"; -mkDerivation rec { - pname = "psc-package"; version = "0.6.2"; - src = fetchFromGitHub { - owner = "purescript"; - repo = pname; - rev = "v${version}"; - sha256 = "0536mijma61khldnpbdviq2vvpfzzz7w8bxr59mvr19i10njdq0y"; + src = if stdenv.isDarwin + then fetchurl { + url = "https://github.com/purescript/psc-package/releases/download/v0.6.2/macos.tar.gz"; + sha256 = "17dh3bc5b6ahfyx0pi6n9qnrhsyi83qdynnca6k1kamxwjimpcq1"; + } + else fetchurl { + url = "https://github.com/purescript/psc-package/releases/download/v0.6.2/linux64.tar.gz"; + sha256 = "1zvay9q3xj6yd76w6qyb9la4jaj9zvpf4dp78xcznfqbnbhm1a54"; }; - isLibrary = false; - isExecutable = true; + buildInputs = [ gmp zlib ]; + nativeBuildInputs = [ installShellFiles ]; + + libPath = lib.makeLibraryPath buildInputs; + + dontStrip = true; + + installPhase = '' + mkdir -p $out/bin - executableHaskellDepends = with haskellPackages; [ - aeson aeson-pretty either errors optparse-applicative - system-filepath turtle - ]; + PSC_PACKAGE=$out/bin/psc-package - description = "A package manager for PureScript based on package sets"; - license = licenses.bsd3; - maintainers = with lib.maintainers; [ Profpatsch ]; + install -D -m555 -T psc-package $PSC_PACKAGE + chmod u+w $PSC_PACKAGE + '' + lib.optionalString stdenv.isDarwin '' + install_name_tool \ + -change /usr/lib/libSystem.B.dylib ${darwin.Libsystem}/lib/libSystem.B.dylib \ + -change /usr/lib/libiconv.2.dylib ${libiconv}/libiconv.2.dylib \ + $PSC_PACKAGE + '' + lib.optionalString (!stdenv.isDarwin) '' + patchelf --interpreter ${dynamic-linker} --set-rpath ${libPath} $PSC_PACKAGE + '' + '' + chmod u-w $PSC_PACKAGE + + $PSC_PACKAGE --bash-completion-script $PSC_PACKAGE > psc-package.bash + $PSC_PACKAGE --fish-completion-script $PSC_PACKAGE > psc-package.fish + $PSC_PACKAGE --zsh-completion-script $PSC_PACKAGE > _psc-package + installShellCompletion \ + psc-package.{bash,fish} \ + --zsh _psc-package + ''; + + meta = with lib; { + description = "A package manager for PureScript based on package sets"; + license = licenses.bsd3; + maintainers = with maintainers; [ Profpatsch ]; + platforms = [ "x86_64-darwin" "x86_64-linux" ]; + }; } diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index d1797a448ad..6f61068738a 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -57,7 +57,7 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A strongly-typed functional programming language that compiles to JavaScript"; - homepage = http://www.purescript.org/; + homepage = "https://www.purescript.org/"; license = licenses.bsd3; maintainers = [ maintainers.justinwoo maintainers.mbbx6spp ]; platforms = [ "x86_64-linux" "x86_64-darwin" ]; diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix index ef27fc41b07..94ed520ee6c 100644 --- a/pkgs/development/compilers/reason/default.nix +++ b/pkgs/development/compilers/reason/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-reason-${version}"; - version = "3.5.4"; + version = "3.6.0"; src = fetchFromGitHub { owner = "facebook"; repo = "reason"; - rev = "e3287476e5c3f0cbcd9dc7ab18d290f81f4afa0c"; - sha256 = "02p5d1x6lr7jp9mvgvsas3nnq3a97chxp5q6rl07n5qm61d5b4dl"; + rev = "2860cc274b1b5b76a71d0e5190bf67a133d6f809"; + sha256 = "05wcg0gfln85spjfgsij818h2sp4y6s8bvdcwmzv0r8jblr8402b"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/compilers/rgbds/default.nix b/pkgs/development/compilers/rgbds/default.nix index bf2594b9bf4..52d388beaed 100644 --- a/pkgs/development/compilers/rgbds/default.nix +++ b/pkgs/development/compilers/rgbds/default.nix @@ -6,18 +6,18 @@ stdenv.mkDerivation rec { pname = "rgbds"; - version = "0.3.9"; + version = "0.3.10"; src = fetchFromGitHub { owner = "rednex"; repo = "rgbds"; rev = "v${version}"; - sha256 = "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv"; + sha256 = "0752fbffxgxyf3jw2iij88l05dqhppgcxy7dvk82hp4wdg4cflpq"; }; nativeBuildInputs = [ bison flex pkg-config libpng ]; installFlags = [ "PREFIX=\${out}" ]; meta = with stdenv.lib; { - homepage = https://rednex.github.io/rgbds/; + homepage = "https://rednex.github.io/rgbds/"; description = "A free assembler/linker package for the Game Boy and Game Boy Color"; license = licenses.mit; longDescription = diff --git a/pkgs/development/compilers/rust/0001-Allow-getting-no_std-from-the-config-file.patch b/pkgs/development/compilers/rust/0001-Allow-getting-no_std-from-the-config-file.patch new file mode 100644 index 00000000000..0b9359221a7 --- /dev/null +++ b/pkgs/development/compilers/rust/0001-Allow-getting-no_std-from-the-config-file.patch @@ -0,0 +1,52 @@ +From 036c87c82793f1da9f98445e8e27462cc19bbe0a Mon Sep 17 00:00:00 2001 +From: John Ericson <John.Ericson@Obsidian.Systems> +Date: Sat, 22 Feb 2020 14:38:38 -0500 +Subject: [PATCH] Allow getting `no_std` from the config file + +Currently, it is only set correctly in the sanity checking implicit +default fallback code. Having a config file at all will for force +`no_std = false`. +--- + src/bootstrap/config.rs | 3 +++ + src/bootstrap/sanity.rs | 4 +--- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs +index 110c8b844d5..83a6934d477 100644 +--- a/src/bootstrap/config.rs ++++ b/src/bootstrap/config.rs +@@ -350,6 +350,7 @@ struct TomlTarget { + musl_root: Option<String>, + wasi_root: Option<String>, + qemu_rootfs: Option<String>, ++ no_std: Option<bool>, + } + + impl Config { +@@ -610,6 +611,8 @@ impl Config { + target.musl_root = cfg.musl_root.clone().map(PathBuf::from); + target.wasi_root = cfg.wasi_root.clone().map(PathBuf::from); + target.qemu_rootfs = cfg.qemu_rootfs.clone().map(PathBuf::from); ++ target.no_std ++ = cfg.no_std.unwrap_or(triple.contains("-none-") || triple.contains("nvptx")); + + config.target_config.insert(INTERNER.intern_string(triple.clone()), target); + } +diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs +index 8ff7056e628..76e721ed8e3 100644 +--- a/src/bootstrap/sanity.rs ++++ b/src/bootstrap/sanity.rs +@@ -194,9 +194,7 @@ pub fn check(build: &mut Build) { + + if target.contains("-none-") || target.contains("nvptx") { + if build.no_std(*target).is_none() { +- let target = build.config.target_config.entry(target.clone()).or_default(); +- +- target.no_std = true; ++ build.config.target_config.entry(target.clone()).or_default(); + } + + if build.no_std(*target) == Some(false) { +-- +2.24.1 + diff --git a/pkgs/development/compilers/rust/1_41_0.nix b/pkgs/development/compilers/rust/1_41_0.nix deleted file mode 100644 index b73d9b8ef26..00000000000 --- a/pkgs/development/compilers/rust/1_41_0.nix +++ /dev/null @@ -1,48 +0,0 @@ -# New rust versions should first go to staging. -# Things to check after updating: -# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: -# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github -# This testing can be also done by other volunteers as part of the pull -# request review, in case platforms cannot be covered. -# 2. The LLVM version used for building should match with rust upstream. -# 3. Firefox and Thunderbird should still build on x86_64-linux. - -{ stdenv, lib -, buildPackages -, newScope, callPackage -, CoreFoundation, Security -, llvmPackages_5 -, pkgsBuildTarget, pkgsBuildBuild -, fetchpatch -} @ args: - -import ./default.nix { - rustcVersion = "1.41.0"; - rustcSha256 = "0jypz2mrzac41sj0zh07yd1z36g2s2rvgsb8g624sk4l14n84ijm"; - - # Note: the version MUST be one version prior to the version we're - # building - bootstrapVersion = "1.40.0"; - - # fetch hashes by running `print-hashes.sh 1.40.0` - bootstrapHashes = { - i686-unknown-linux-gnu = "d050d3a1c7c45ba9c50817d45bf6d7dd06e1a4d934f633c8096b7db6ae27adc1"; - x86_64-unknown-linux-gnu = "fc91f8b4bd18314e83a617f2389189fc7959146b7177b773370d62592d4b07d0"; - arm-unknown-linux-gnueabihf = "4be9949c4d3c572b69b1df61c3506a3a3ac044851f025d38599612e7caa933c5"; - armv7-unknown-linux-gnueabihf = "ebfe3978e12ffe34276272ee6d0703786249a9be80ca50617709cbfdab557306"; - aarch64-unknown-linux-gnu = "639271f59766d291ebdade6050e7d05d61cb5c822a3ef9a1e2ab185fed68d729"; - i686-apple-darwin = "ea189b1fb0bfda367cde6d43c18863ab4c64ffca04265e5746bf412a186fe1a2"; - x86_64-apple-darwin = "749ca5e0b94550369cc998416b8854c13157f5d11d35e9b3276064b6766bcb83"; - }; - - selectRustPackage = pkgs: pkgs.rust_1_41_0; - - rustcPatches = [ - (fetchpatch { - url = "https://github.com/QuiltOS/rust/commit/f1803452b9e95bfdbc3b8763138b9f92c7d12b46.diff"; - sha256 = "1mzxaj46bq7ll617wg0mqnbnwr1da3hd4pbap8bjwhs3kfqnr7kk"; - }) - ]; -} - -(builtins.removeAttrs args [ "fetchpatch" ]) diff --git a/pkgs/development/compilers/rust/1_42.nix b/pkgs/development/compilers/rust/1_42.nix new file mode 100644 index 00000000000..8717aaf76a2 --- /dev/null +++ b/pkgs/development/compilers/rust/1_42.nix @@ -0,0 +1,44 @@ +# New rust versions should first go to staging. +# Things to check after updating: +# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: +# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github +# This testing can be also done by other volunteers as part of the pull +# request review, in case platforms cannot be covered. +# 2. The LLVM version used for building should match with rust upstream. +# 3. Firefox and Thunderbird should still build on x86_64-linux. + +{ stdenv, lib +, buildPackages +, newScope, callPackage +, CoreFoundation, Security +, llvmPackages_5 +, pkgsBuildTarget, pkgsBuildBuild +} @ args: + +import ./default.nix { + rustcVersion = "1.42.0"; + rustcSha256 = "0x9lxs82may6c0iln0b908cxyn1cv7h03n5cmbx3j1bas4qzks6j"; + + # Note: the version MUST be one version prior to the version we're + # building + bootstrapVersion = "1.41.0"; + + # fetch hashes by running `print-hashes.sh 1.42.0` + bootstrapHashes = { + i686-unknown-linux-gnu = "a93a34f9cf3d35de2496352cb615b42b792eb09db3149b3a278efd2c58fa7897"; + x86_64-unknown-linux-gnu = "343ba8ef7397eab7b3bb2382e5e4cb08835a87bff5c8074382c0b6930a41948b"; + arm-unknown-linux-gnueabihf = "d0b33fcc97eeb96d716b30573c7e66affdf9077ecdecb30df2498b49f8284047"; + armv7-unknown-linux-gnueabihf = "3c8e787fb4f4f304a065e78c38010f0b5722d809f9dafb0e904084bf0f54f7be"; + aarch64-unknown-linux-gnu = "79ddfb5e2563d0ee09a567fbbe121a2aed3c3bc61255b2787f2dd42183a10f27"; + i686-apple-darwin = "628134b3fbaf5c0e7a25bd9a2b8d25f6e68bb256c8b04a3332ec979f5a1cd339"; + x86_64-apple-darwin = "b6504003ab70b11f278e0243a43ba9d6bf75e8ad6819b4058a2b6e3991cc8d7a"; + }; + + selectRustPackage = pkgs: pkgs.rust_1_42; + + rustcPatches = [ + ./0001-Allow-getting-no_std-from-the-config-file.patch + ]; +} + +(builtins.removeAttrs args [ "fetchpatch" ]) diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 6498c34ce8b..40de5f61e03 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,6 +1,6 @@ { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget , fetchurl, file, python3 -, llvm_9, darwin, git, cmake, rust, rustPlatform +, llvm_9, darwin, cmake, rust, rustPlatform , pkgconfig, openssl , which, libffi , withBundledLLVM ? false @@ -125,7 +125,7 @@ in stdenv.mkDerivation rec { dontUseCmakeConfigure = true; nativeBuildInputs = [ - file python3 rustPlatform.rust.rustc git cmake + file python3 rustPlatform.rust.rustc cmake which libffi removeReferencesTo pkgconfig ]; diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index d84503caa60..792b8d9ea62 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -36,6 +36,8 @@ let "0.46" = ./disable-graphviz-0.46.1.patch; + "0.48" = ./disable-graphviz-0.46.1.patch; + }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala"); disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz; @@ -120,5 +122,10 @@ in rec { sha256 = "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"; }; - vala = vala_0_46; + vala_0_48 = generic { + version = "0.48.1"; + sha256 = "61c5TAqQj/Y2I9F54J+h6dazjTHH61l9MCFInyl+cdQ="; + }; + + vala = vala_0_48; } diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 5e26e37b443..3a54d42498c 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "yosys"; - version = "2020.03.16"; + version = "2020.03.24"; src = fetchFromGitHub { owner = "YosysHQ"; repo = "yosys"; - rev = "ed4fa19ba2812c286562baf26bbbcb49afad83bc"; - sha256 = "1sza5ng0q8dy6p4hks9b2db129xjcid9n6l8aglf2cj5ks82k5nv"; + rev = "c9555c9adeba886a308c60615ac794ec20d9276e"; + sha256 = "1fh118fv06jyfmkx6zy0w2k0rjj22m0ffyll3k5giaw8zzaf0j3a"; }; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/zasm/default.nix b/pkgs/development/compilers/zasm/default.nix new file mode 100644 index 00000000000..174092496ba --- /dev/null +++ b/pkgs/development/compilers/zasm/default.nix @@ -0,0 +1,44 @@ +{ fetchFromGitHub, zlib, stdenv }: +let + libs-src = fetchFromGitHub { + owner = "megatokio"; + repo = "Libraries"; + rev = "97ea480051b106e83a086dd42583dfd3e9d458a1"; + sha256 = "1kqmjb9660mnb0r18s1grrrisx6b73ijsinlyr97vz6992jd5dzh"; + }; +in +stdenv.mkDerivation { + pname = "zasm"; + version = "4.2.6"; + src = fetchFromGitHub { + owner = "megatokio"; + repo = "zasm"; + rev = "f1424add17a5514895a598d6b5e3982579961519"; + sha256 = "1kqnqdqp2bfsazs6vfx2aiqanxxagn8plx8g6rc11vmr8yqnnpks"; + }; + + buildInputs = [ zlib ]; + + configurePhase = '' + ln -sf ${libs-src} Libraries + ''; + + buildPhase = '' + cd Linux + make + ''; + + installPhase = '' + mkdir -p $out/bin + mv zasm $out/bin + ''; + + meta = with stdenv.lib; { + description = "Z80 / 8080 assembler (for unix-style OS)"; + homepage = "https://k1.spdns.de/Develop/Projects/zasm/Distributions/"; + license = licenses.bsd2; + maintainers = [ maintainers.turbomack ]; + platforms = platforms.linux; + badPlatforms = platforms.aarch64; + }; +} |