Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk
2019-11-24 10:13:31 +01:00
295 changed files with 3869 additions and 1803 deletions
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
checkTarget = "test";
meta = with stdenv.lib; {
homepage = http://www.eff-lang.org;
homepage = https://www.eff-lang.org;
description = "A functional programming language based on algebraic effects and their handlers";
longDescription = ''
Eff is a functional language with handlers of not only exceptions,
@@ -0,0 +1,22 @@
--- a/src/lapi.c
+++ b/src/lapi.c
@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State *
LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
int fidx2, int n2) {
- LClosure *f1;
- UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
+ UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */
UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
+ if (*up1 == *up2) return; /* Already joined */
+ (*up2)->refcount++;
+ if (upisopen(*up2)) (*up2)->u.open.touched = 1;
+ luaC_upvalbarrier(L, *up2);
luaC_upvdeccount(L, *up1);
*up1 = *up2;
- (*up1)->refcount++;
- if (upisopen(*up1)) (*up1)->u.open.touched = 1;
- luaC_upvalbarrier(L, *up1);
}
@@ -1,5 +1,5 @@
# similar to interpreters/python/default.nix
{ stdenv, lib, callPackage, fetchurl }:
{ stdenv, lib, callPackage, fetchurl, fetchpatch }:
let
dsoPatch51 = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51";
@@ -18,7 +18,10 @@ in rec {
lua5_3 = callPackage ./interpreter.nix {
sourceVersion = { major = "5"; minor = "3"; patch = "5"; };
hash = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac";
patches = lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ;
patches =
lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ++ [
./CVE-2019-6706.patch
];
postConfigure = lib.optionalString (!stdenv.isDarwin) ''
cat ${./lua-5.3-dso.make} >> src/Makefile
sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile
@@ -11,7 +11,7 @@
let
env = let
paths = requiredLuaModules (extraLibs ++ [ lua ] );
in buildEnv {
in (buildEnv {
name = "${lua.name}-env";
inherit paths;
@@ -20,12 +20,6 @@ let
# we create wrapper for the binaries in the different packages
postBuild = ''
. "${makeWrapper}/nix-support/setup-hook"
# get access to lua functions
. ${lua}/nix-support/setup-hook
if [ -L "$out/bin" ]; then
unlink "$out/bin"
fi
@@ -68,5 +62,8 @@ let
'';
};
};
};
}).overrideAttrs (_: {
# Add extra deps needed for postBuild hook.
nativeBuildInputs = [ makeWrapper lua ];
});
in env
@@ -17,6 +17,7 @@
# For the Python package set
, packageOverrides ? (self: super: {})
, buildPackages
, pythonForBuild ? buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"}
, sourceVersion
, sha256
, passthruFun
@@ -63,7 +64,7 @@ let
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"};
inherit pythonForBuild;
pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then
"$out/bin/python"
@@ -46,7 +46,7 @@ with pkgs;
inherit hasDistutilsCxxPatch pythonForBuild;
};
in {
in rec {
python27 = callPackage ./cpython/2.7 {
self = python27;
@@ -127,18 +127,9 @@ in {
};
# Minimal versions of Python (built without optional dependencies)
python3Minimal = (callPackage ./cpython {
python3Minimal = (python37.override {
self = python3Minimal;
sourceVersion = {
major = "3";
minor = "7";
patch = "4";
suffix = "";
};
sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
inherit (darwin) CF configd;
inherit passthruFun;
pythonForBuild = pkgs.buildPackages.python3Minimal;
# strip down that python version as much as possible
openssl = null;
readline = null;