Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
John Ericson
2020-11-28 21:33:03 -05:00
246 changed files with 5669 additions and 3717 deletions
@@ -0,0 +1,34 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper }:
stdenv.mkDerivation rec {
pname = "muon";
version = "2019-11-27";
src = fetchFromGitHub {
owner = "nickmqb";
repo = pname;
rev = "6d3a5054ae75b0e5a0ae633cf8cbc3e2a054f8b3";
sha256 = "1sb1i08421jxlx791g8nh4l239syaj730hagkzc159g0z65614zz";
};
nativeBuildInputs = [ makeWrapper ];
buildPhase = ''
mkdir -p $out/bin $out/share/mu
cp -r lib $out/share/mu
gcc -O3 -o $out/bin/mu-unwrapped bootstrap/mu64.c
'';
installPhase = ''
makeWrapper $out/bin/mu-unwrapped $out/bin/mu \
--add-flags $out/share/mu/lib/core.mu
'';
meta = with lib; {
description = "Modern low-level programming language";
homepage = "https://github.com/nickmqb/muon";
license = licenses.mit;
maintainers = with maintainers; [ Br1ght0ne ];
platforms = [ "x86_64-linux" ];
};
}
+10 -2
View File
@@ -24,9 +24,10 @@
if platform.isDarwin then "macos"
else platform.parsed.kernel.name;
# Target triple. Rust has slightly different naming conventions than we use.
# Returns the name of the rust target, even if it is custom. Adjustments are
# because rust has slightly different naming conventions than we do.
toRustTarget = platform: with platform.parsed; let
cpu_ = platform.rustc.arch or {
cpu_ = platform.rustc.platform.arch or {
"armv7a" = "armv7";
"armv7l" = "armv7";
"armv6l" = "arm";
@@ -34,6 +35,13 @@
in platform.rustc.config
or "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
# Returns the name of the rust target if it is standard, or the json file
# containing the custom target spec.
toRustTargetSpec = platform:
if (platform.rustc or {}) ? platform
then builtins.toFile (toRustTarget platform + ".json") (builtins.toJSON platform.rustc.platform)
else toRustTarget platform;
# This just contains tools for now. But it would conceivably contain
# libraries too, say if we picked some default/recommended versions from
# `cratesIO` to build by Hydra and/or try to prefer/bias in Cargo.lock for
+5 -2
View File
@@ -1,4 +1,4 @@
{ stdenv, rustc }:
{ stdenv, rustc, minimalContent ? true }:
stdenv.mkDerivation {
name = "rust-src";
@@ -6,6 +6,9 @@ stdenv.mkDerivation {
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mv src $out
rm -rf $out/{ci,doc,etc,grammar,llvm-project,llvm-emscripten,rtstartup,rustllvm,test,tools,vendor,stdarch}
rm -rf $out/{${if minimalContent
then "ci,doc,etc,grammar,llvm-project,llvm-emscripten,rtstartup,rustllvm,test,tools,vendor,stdarch"
else "ci,doc,etc,grammar,llvm-project,llvm-emscripten,rtstartup,rustllvm,test,vendor"
}}
'';
}
+3 -3
View File
@@ -70,9 +70,9 @@ in stdenv.mkDerivation rec {
"--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo"
"--enable-rpath"
"--enable-vendor"
"--build=${rust.toRustTarget stdenv.buildPlatform}"
"--host=${rust.toRustTarget stdenv.hostPlatform}"
"--target=${rust.toRustTarget stdenv.targetPlatform}"
"--build=${rust.toRustTargetSpec stdenv.buildPlatform}"
"--host=${rust.toRustTargetSpec stdenv.hostPlatform}"
"--target=${rust.toRustTargetSpec stdenv.targetPlatform}"
"${setBuild}.cc=${ccForBuild}"
"${setHost}.cc=${ccForHost}"
@@ -4,18 +4,18 @@
stdenv.mkDerivation rec {
pname = "unison-code-manager";
milestone_id = "M1l";
milestone_id = "M1m";
version = "1.0.${milestone_id}-alpha";
src = if (stdenv.isDarwin) then
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz";
sha256 = "0qbxakrp3p3k3k8a1m2g24ivs3c8j5rj7ij84i7k548505rva9qr";
sha256 = "06pxvp753j8pr0pn02l7cswmmas5pk1vlkw83yd04h3f2rx1s61v";
}
else
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz";
sha256 = "152yzv7j4nyp228ngzbhki9fid1xdqrjvl1rwxc05wq30jwwqx0x";
sha256 = "1qspvfq805d34kz031pf9sqw8kzz7h637kc8lnbjlgvwixxkxc7c";
};
# The tarball is just the prebuilt binary, in the archive root.