Merge branch 'master' into octave-gl2ps
This commit is contained in:
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clojure";
|
||||
version = "1.10.1.469";
|
||||
version = "1.10.1.489";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
|
||||
sha256 = "0hpb6rixmgllss69vl9zlpb41svm4mx4xmfbq1q7y12jsxckzgpq";
|
||||
sha256 = "12ks7adh5cx99l5vydppkqknk5nvv9vsj2k0afcwwxd897m794kz";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{ mkDerivation }:
|
||||
|
||||
# How to obtain `sha256`:
|
||||
# nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
|
||||
mkDerivation {
|
||||
version = "1.9.1";
|
||||
sha256 = "106s2a3dykc5iwfrd5icqd737yfzaz1dw4x5v1j5z2fvf46h96dx";
|
||||
version = "1.9.4";
|
||||
sha256 = "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b";
|
||||
minimumOTPVersion = "20";
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
{ mkDerivation }:
|
||||
|
||||
# How to obtain `sha256`:
|
||||
# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
|
||||
mkDerivation {
|
||||
version = "22.0.4";
|
||||
sha256 = "1aqkhd6nwdn4xp5yz02zbymd4x8ij8fjw9ji8kh860n1a513k9ai";
|
||||
version = "22.1.7";
|
||||
sha256 = "18aqy2s8nqd82v4lzzxknrwjva8mv1y2hvai9cakz5nkyd3vwq62";
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, libxml2, libxslt, ncurses, openssl, perl, autoconf
|
||||
, openjdk ? null # javacSupport
|
||||
, unixODBC ? null # odbcSupport
|
||||
, libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
|
||||
, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
|
||||
, withSystemd ? stdenv.isLinux, systemd # systemd support in epmd
|
||||
}:
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
, enableKernelPoll ? true
|
||||
, javacSupport ? false, javacPackages ? [ openjdk ]
|
||||
, odbcSupport ? false, odbcPackages ? [ unixODBC ]
|
||||
, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ]
|
||||
, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
|
||||
, preUnpack ? "", postUnpack ? ""
|
||||
, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
|
||||
, configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
assert wxSupport -> (if stdenv.isDarwin
|
||||
then wxmac != null
|
||||
else libGLU_combined != null && wxGTK != null && xorg != null);
|
||||
else libGL != null && libGLU != null && wxGTK != null && xorg != null);
|
||||
|
||||
assert odbcSupport -> unixODBC != null;
|
||||
assert javacSupport -> openjdk != null;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
addGuileLibPath () {
|
||||
if test -d "$1/share/guile/site/2.0"
|
||||
then
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
|
||||
elif test -d "$1/share/guile/site"
|
||||
then
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
addGuileLibPath () {
|
||||
if test -d "$1/share/guile/site/2.2"
|
||||
then
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
|
||||
elif test -d "$1/share/guile/site"
|
||||
then
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
addGuileLibPath () {
|
||||
if test -d "$1/share/guile/site"
|
||||
then
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||
export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{ stdenv, fetchurl, pythonPackages }:
|
||||
{ stdenv, fetchurl, python2Packages }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "hy";
|
||||
version = "0.17.0";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
src = python2Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
appdirs
|
||||
astor
|
||||
clint
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, zlib, sqlite, gmp, libffi, cairo,
|
||||
ncurses, freetype, libGLU_combined, libpng, libtiff, libjpeg, readline, libsndfile,
|
||||
ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile,
|
||||
libxml2, freeglut, libsamplerate, pcre, libevent, libedit, yajl,
|
||||
python3, openssl, glfw, pkgconfig, libpthreadstubs, libXdmcp, libmemcached
|
||||
}:
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [
|
||||
zlib sqlite gmp libffi cairo ncurses freetype
|
||||
libGLU_combined libpng libtiff libjpeg readline libsndfile libxml2
|
||||
libGLU libGL libpng libtiff libjpeg readline libsndfile libxml2
|
||||
freeglut libsamplerate pcre libevent libedit yajl
|
||||
pkgconfig glfw openssl libpthreadstubs libXdmcp
|
||||
libmemcached python3
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
|
||||
|
||||
maintainers = with maintainers; [
|
||||
raskin
|
||||
z77z
|
||||
maggesi
|
||||
vrthra
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "janet";
|
||||
version = "1.3.1";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janet-lang";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "160wd3436cl50wkvqpaf6mbb69qlzzammcg5yb07wx9yw31g399p";
|
||||
sha256 = "13b4haaanlgi8qpwwvf59zf7qsw8p0zdqv7xdxjjyid5yww7jmm2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja ];
|
||||
|
||||
@@ -5,35 +5,53 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "jimtcl";
|
||||
version = "0.78";
|
||||
version = "0.79";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "msteveb";
|
||||
repo = "jimtcl";
|
||||
rev = version;
|
||||
sha256 = "1nrjxjfh69i35ig8sxdlal4ydd3cl0x68c05s6svnf1y2i1bl23j";
|
||||
sha256 = "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
sqlite readline asciidoc SDL SDL_gfx
|
||||
nativeBuildInputs = [
|
||||
asciidoc
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
|
||||
buildInputs = [
|
||||
sqlite readline SDL SDL_gfx
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--shared"
|
||||
"--with-ext=oo"
|
||||
"--with-ext=tree"
|
||||
"--with-ext=binary"
|
||||
"--with-ext=sqlite3"
|
||||
"--with-ext=readline"
|
||||
"--with-ext=sdl"
|
||||
"--with-ext=json"
|
||||
"--enable-utf8"
|
||||
"--ipv6"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
# test exec2-3.2 fails depending on platform or sandboxing (?)
|
||||
rm tests/exec2.test
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
ln -sr $out/lib/libjim.so.${version} $out/lib/libjim.so
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "An open source small-footprint implementation of the Tcl programming language";
|
||||
homepage = http://jim.tcl.tk/;
|
||||
homepage = "http://jim.tcl.tk/";
|
||||
license = stdenv.lib.licenses.bsd2;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = with stdenv.lib.maintainers; [ dbohdan vrthra ];
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "joker";
|
||||
version = "0.12.7";
|
||||
version = "0.12.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "candid82";
|
||||
repo = "joker";
|
||||
sha256 = "0panmhrg1i158xbvqvq3s3217smbj7ynwlaiks18pmss36xx9dk4";
|
||||
sha256 = "19n2pzs045mflyzgq3cpa4w2fbd0f77j5k6c4yc3gk0mcwgdxhs2";
|
||||
};
|
||||
|
||||
modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j";
|
||||
|
||||
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
|
||||
jruby = stdenv.mkDerivation rec {
|
||||
pname = "jruby";
|
||||
|
||||
version = "9.2.8.0";
|
||||
version = "9.2.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
|
||||
sha256 = "1fy717xy8csc89dnz3a8j96arq1s1vs8nakkkpcaqm1z1648didp";
|
||||
sha256 = "04grdf57c1dgragm17yyjk69ak8mwiwfc1vjzskzcaag3fwgplyf";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
|
||||
{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
|
||||
libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
|
||||
libtheora, which, autoconf, automake, libtool
|
||||
}:
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
|
||||
SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
|
||||
libvorbis libogg libtheora autoconf which libtool automake
|
||||
];
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig
|
||||
, SDL, libGLU_combined, openal, lua
|
||||
, SDL, libGLU, libGL, openal, lua
|
||||
, libdevil, freetype, physfs
|
||||
, libmodplug, mpg123, libvorbis, libogg
|
||||
, libmng
|
||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
SDL libGLU_combined openal lua
|
||||
SDL libGLU libGL openal lua
|
||||
libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng
|
||||
];
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig
|
||||
, SDL, libGLU_combined, openal, lua
|
||||
, SDL, libGLU, libGL, openal, lua
|
||||
, libdevil, freetype, physfs
|
||||
, libmodplug, mpg123, libvorbis, libogg
|
||||
}:
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
SDL libGLU_combined openal lua
|
||||
SDL libGLU libGL openal lua
|
||||
libdevil freetype physfs libmodplug mpg123 libvorbis libogg
|
||||
];
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig
|
||||
, SDL2, libGLU_combined, openal, luajit
|
||||
, SDL2, libGLU, libGL, openal, luajit
|
||||
, libdevil, freetype, physfs
|
||||
, libmodplug, mpg123, libvorbis, libogg
|
||||
}:
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
SDL2 libGLU_combined openal luajit
|
||||
SDL2 libGLU libGL openal luajit
|
||||
libdevil freetype physfs libmodplug mpg123 libvorbis libogg
|
||||
];
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
|
||||
{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
|
||||
libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
|
||||
libtheora, which, autoconf, automake, libtool
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "love";
|
||||
version = "11.2";
|
||||
version = "11.3";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@@ -14,12 +14,12 @@ stdenv.mkDerivation {
|
||||
owner = "rude";
|
||||
repo = "love";
|
||||
rev = version;
|
||||
sha256 = "0q1lsgc1621czrg49nmabq6am9sgxa9syxrwzlksqqr4dyzw4nmf";
|
||||
sha256 = "18gfp65ngb8k8g7hgbw2bhrwk2i7m56m21d39pk4484q9z8p4vm7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
|
||||
SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
|
||||
libvorbis libogg libtheora autoconf which libtool automake
|
||||
];
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps"] // {
|
||||
|
||||
# enabled only for src.rock
|
||||
setSourceRoot= let
|
||||
name_only=(builtins.parseDrvName name).name;
|
||||
name_only= lib.getName name;
|
||||
in
|
||||
lib.optionalString (knownRockspec == null) ''
|
||||
# format is rockspec_basename/source_basename
|
||||
|
||||
@@ -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
|
||||
@@ -49,7 +52,7 @@ in rec {
|
||||
sourceVersion = { major = "5"; minor = "1"; patch = "5"; };
|
||||
hash = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333";
|
||||
patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch51 ])
|
||||
++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ];
|
||||
++ [ ./CVE-2014-5461.patch ];
|
||||
};
|
||||
|
||||
luajit_2_0 = import ../luajit/2.0.nix {
|
||||
|
||||
@@ -20,7 +20,7 @@ addToLuaSearchPathWithCustomDelimiter() {
|
||||
if [[ ! -d "$topDir" ]]; then return; fi
|
||||
|
||||
# export only if we haven't already got this dir in the search path
|
||||
if [[ ${!varName} == *"$absPattern"* ]]; then return; fi
|
||||
if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
|
||||
|
||||
export "${varName}=${!varName:+${!varName};}${absPattern}"
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -4,7 +4,8 @@ callPackage ./default.nix {
|
||||
version = "2.0.5";
|
||||
isStable = true;
|
||||
sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7";
|
||||
extraMeta = {
|
||||
platforms = lib.filter (p: p != "aarch64-linux") lib.meta.platforms;
|
||||
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
|
||||
platforms = with lib; filter (p: p != "aarch64-linux")
|
||||
(platforms.linux ++ platforms.darwin);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -62,12 +62,12 @@ stdenv.mkDerivation rec {
|
||||
interpreter = "${self}/bin/lua";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; extraMeta // {
|
||||
meta = with stdenv.lib; {
|
||||
description = "High-performance JIT compiler for Lua 5.1";
|
||||
homepage = http://luajit.org;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ thoughtpolice smironov vcunat andir ];
|
||||
};
|
||||
} // extraMeta;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU_combined, SDL
|
||||
{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU, libGL, SDL
|
||||
, blas, libbfd, intltool, gettext, zlib, libSM}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libX11 libSM xorgproto indent readline gsl freeglut libGLU_combined SDL blas libbfd
|
||||
libX11 libSM xorgproto indent readline gsl freeglut libGLU libGL SDL blas libbfd
|
||||
intltool gettext zlib
|
||||
];
|
||||
|
||||
|
||||
@@ -2,21 +2,23 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "metamath";
|
||||
version = "0.172";
|
||||
version = "0.178";
|
||||
|
||||
buildInputs = [ autoreconfHook ];
|
||||
|
||||
# This points to my own repository because there is no official repository
|
||||
# for metamath; there's a download location but it gets updated in place with
|
||||
# no permanent link. See discussion at
|
||||
# https://groups.google.com/forum/#!topic/metamath/N4WEWQQVUfY
|
||||
src = fetchFromGitHub {
|
||||
owner = "Taneb";
|
||||
repo = "metamath";
|
||||
rev = "43141cd17638f8efb409dc5d46e7de6a6c39ec42";
|
||||
sha256 = "07c7df0zl0wsb0pvdgkwikpr8kz7fi3mshxzk61vkamyp68djjb5";
|
||||
owner = "metamath";
|
||||
repo = "metamath-exe";
|
||||
rev = "4f59d60aeb03f92aea3cc7ecf5a2c0fcf08900a5";
|
||||
sha256 = "0nrl4nzp6rm2sn365xyjf3g5l5fl58kca7rq08lqyz5gla0wgfcf";
|
||||
};
|
||||
|
||||
# the files necessary to build the DATA target are not in this distribution
|
||||
# luckily, they're not really needed so we don't build it.
|
||||
makeFlags = [ "DATA=" ];
|
||||
|
||||
installTargets = "install-exec";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Interpreter for the metamath proof language";
|
||||
longDescription = ''
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
|
||||
, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGLU_combined, fltk
|
||||
, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk
|
||||
, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp, gl2ps
|
||||
, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
|
||||
, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
||||
++ (stdenv.lib.optional (jdk != null) jdk)
|
||||
++ (stdenv.lib.optional (gnuplot != null) gnuplot)
|
||||
++ (stdenv.lib.optional (python != null) python)
|
||||
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGLU_combined libX11 ])
|
||||
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ])
|
||||
;
|
||||
|
||||
# makeinfo is required by Octave at runtime to display help
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
|
||||
, enableThreading ? stdenv ? glibc, makeWrapper
|
||||
, enableThreading ? stdenv ? glibc, coreutils, makeWrapper
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@@ -35,7 +35,7 @@ let
|
||||
|
||||
# TODO: Add a "dev" output containing the header files.
|
||||
outputs = [ "out" "man" "devdoc" ] ++
|
||||
stdenv.lib.optional crossCompiling "dev";
|
||||
optional crossCompiling "dev";
|
||||
setOutputFlags = false;
|
||||
|
||||
disallowedReferences = [ stdenv.cc ];
|
||||
@@ -57,12 +57,20 @@ let
|
||||
++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
|
||||
++ optional crossCompiling ./MakeMaker-cross.patch;
|
||||
|
||||
postPatch = ''
|
||||
pwd="$(type -P pwd)"
|
||||
# This is not done for native builds because pwd may need to come from
|
||||
# bootstrap tools when building bootstrap perl.
|
||||
postPatch = (if crossCompiling then ''
|
||||
substituteInPlace dist/PathTools/Cwd.pm \
|
||||
--replace "/bin/pwd" "$pwd"
|
||||
'' + stdenv.lib.optionalString crossCompiling ''
|
||||
--replace "/bin/pwd" '${coreutils}/bin/pwd'
|
||||
substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
|
||||
'' else ''
|
||||
substituteInPlace dist/PathTools/Cwd.pm \
|
||||
--replace "/bin/pwd" "$(type -P pwd)"
|
||||
'') +
|
||||
# Perl's build system uses the src variable, and its value may end up in
|
||||
# the output in some cases (when cross-compiling)
|
||||
''
|
||||
unset src
|
||||
'';
|
||||
|
||||
# Build a thread-safe Perl with a dynamic libperls.o. We need the
|
||||
@@ -85,7 +93,7 @@ let
|
||||
++ optional stdenv.isSunOS "-Dcc=gcc"
|
||||
++ optional enableThreading "-Dusethreads";
|
||||
|
||||
configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
|
||||
configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
|
||||
|
||||
dontAddPrefix = !crossCompiling;
|
||||
|
||||
@@ -140,7 +148,7 @@ let
|
||||
}" /no-such-path \
|
||||
--replace "${stdenv.cc}" /no-such-path \
|
||||
--replace "$man" /no-such-path
|
||||
'' + stdenv.lib.optionalString crossCompiling
|
||||
'' + optionalString crossCompiling
|
||||
''
|
||||
mkdir -p $dev/lib/perl5/cross_perl/${version}
|
||||
for dir in cnf/{stub,cpan}; do
|
||||
@@ -172,12 +180,12 @@ let
|
||||
platforms = platforms.all;
|
||||
priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
|
||||
};
|
||||
} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
|
||||
crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
|
||||
} // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
|
||||
crossVersion = "ba90816ef2c24dc06fd6cd2c854abcfa1aae00a3"; # Nov 22, 2019
|
||||
|
||||
perl-cross-src = fetchurl {
|
||||
url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
|
||||
sha256 = "1hg3k2rhjs5gclrm05z87nvlh4j9pg7mkm9998h9gy6mzk8224q5";
|
||||
sha256 = "19jq5fz6l64s0v6j64n5mkk5v2srpyfn9sc09hwbpkp9n74q82j4";
|
||||
};
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
|
||||
@@ -205,15 +213,15 @@ in {
|
||||
perl530 = common {
|
||||
perl = pkgs.perl530;
|
||||
buildPerl = buildPackages.perl530;
|
||||
version = "5.30.0";
|
||||
sha256 = "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5";
|
||||
version = "5.30.1";
|
||||
sha256 = "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz";
|
||||
};
|
||||
|
||||
# the latest Devel version
|
||||
perldevel = common {
|
||||
perl = pkgs.perldevel;
|
||||
buildPerl = buildPackages.perldevel;
|
||||
version = "5.31.2";
|
||||
sha256 = "00bdh9lmjb0m7dhk8mj7kab7cg2zn9zgw82y4hgkwydzg6d1jis0";
|
||||
version = "5.31.6";
|
||||
sha256 = "08n3c8xm1brxpckqy8i1xgjrpl4afrhcva9bhxswr938n675x71k";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
, openssl, pcre, pcre2, sqlite, config, libjpeg, libpng, freetype
|
||||
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
|
||||
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
|
||||
, libzip, valgrind
|
||||
, libzip, valgrind, oniguruma
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@@ -78,6 +78,7 @@ let
|
||||
buildInputs = [ ]
|
||||
++ optional (versionOlder version "7.3") pcre
|
||||
++ optional (versionAtLeast version "7.3") pcre2
|
||||
++ optional (versionAtLeast version "7.4") oniguruma
|
||||
++ optional withSystemd systemd
|
||||
++ optionals imapSupport [ uwimap openssl pam ]
|
||||
++ optionals curlSupport [ curl openssl ]
|
||||
@@ -114,7 +115,8 @@ let
|
||||
"--with-config-file-scan-dir=/etc/php.d"
|
||||
]
|
||||
++ optional (versionOlder version "7.3") "--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
|
||||
++ optional (versionAtLeast version "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
|
||||
++ optional (versions.majorMinor version == "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
|
||||
++ optional (versionAtLeast version "7.4") "--with-external-pcre=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
|
||||
++ optional stdenv.isDarwin "--with-iconv=${libiconv}"
|
||||
++ optional withSystemd "--with-fpm-systemd"
|
||||
++ optionals imapSupport [
|
||||
@@ -133,10 +135,11 @@ let
|
||||
++ optional mhashSupport "--with-mhash"
|
||||
++ optional curlSupport "--with-curl=${curl.dev}"
|
||||
++ optional zlibSupport "--with-zlib=${zlib.dev}"
|
||||
++ optional libxml2Support "--with-libxml-dir=${libxml2.dev}"
|
||||
++ optional (libxml2Support && (versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}"
|
||||
++ optional (!libxml2Support) [
|
||||
"--disable-dom"
|
||||
"--disable-libxml"
|
||||
(if (versionOlder version "7.4") then "--disable-libxml" else "--without-libxml")
|
||||
"--disable-simplexml"
|
||||
"--disable-xml"
|
||||
"--disable-xmlreader"
|
||||
@@ -156,7 +159,12 @@ let
|
||||
++ optional ( pdo_mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
|
||||
++ optional bcmathSupport "--enable-bcmath"
|
||||
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
|
||||
++ optionals gdSupport [
|
||||
++ optionals (gdSupport && versionAtLeast version "7.4") [
|
||||
"--enable-gd"
|
||||
"--with-jpeg=${libjpeg.dev}"
|
||||
"--with-freetype=${freetype.dev}"
|
||||
"--enable-gd-jis-conv"
|
||||
] ++ optionals (gdSupport && versionOlder version "7.4") [
|
||||
"--with-gd"
|
||||
"--with-freetype-dir=${freetype.dev}"
|
||||
"--with-png-dir=${libpng.dev}"
|
||||
@@ -173,7 +181,7 @@ let
|
||||
++ optional xslSupport "--with-xsl=${libxslt.dev}"
|
||||
++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
|
||||
++ optional bz2Support "--with-bz2=${bzip2.dev}"
|
||||
++ optional zipSupport "--enable-zip"
|
||||
++ optional (zipSupport && (versionOlder version "7.4")) "--enable-zip"
|
||||
++ optional ftpSupport "--enable-ftp"
|
||||
++ optional fpmSupport "--enable-fpm"
|
||||
++ optional ztsSupport "--enable-maintainer-zts"
|
||||
@@ -181,7 +189,7 @@ let
|
||||
++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
|
||||
++ optional tidySupport "--with-tidy=${html-tidy}"
|
||||
++ optional argon2Support "--with-password-argon2=${libargon2}"
|
||||
++ optional libzipSupport "--with-libzip=${libzip.dev}"
|
||||
++ optional (libzipSupport && (versionOlder version "7.4")) "--with-libzip=${libzip.dev}"
|
||||
++ optional phpdbgSupport "--enable-phpdbg"
|
||||
++ optional (!phpdbgSupport) "--disable-phpdbg"
|
||||
++ optional (!cgiSupport) "--disable-cgi"
|
||||
@@ -254,18 +262,23 @@ let
|
||||
|
||||
in {
|
||||
php72 = generic {
|
||||
version = "7.2.23";
|
||||
sha256 = "03a3snx8wdn2pwfy8qdk035da9g3qdnpgqvpz4qfgmr97mjg6ym1";
|
||||
version = "7.2.25";
|
||||
sha256 = "17kb7b3wpdmdhnlv23qc0vax0lp2gr1v7dxwdgs8g78gxnqkdcvw";
|
||||
|
||||
# https://bugs.php.net/bug.php?id=76826
|
||||
extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
|
||||
};
|
||||
|
||||
php73 = generic {
|
||||
version = "7.3.10";
|
||||
sha256 = "0j2lqiw8miv9aqg55z2dvfg3mwm5vyqx6ggmfbw013zvq1qxhvah";
|
||||
version = "7.3.12";
|
||||
sha256 = "0fccmnrwwyy5zvhj8wbyqqlyqr7pr5v4pfiqriw0ahciz4lv05yk";
|
||||
|
||||
# https://bugs.php.net/bug.php?id=76826
|
||||
extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
||||
};
|
||||
|
||||
php74 = generic {
|
||||
version = "7.4.0";
|
||||
sha256 = "1h01bahvcm9kgm5jqhm2j9k9d4q4rpfkkpqk00c47rirdblnn85z";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -79,12 +79,6 @@ let
|
||||
sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57";
|
||||
})
|
||||
|
||||
(fetchpatch {
|
||||
url = "https://github.com/python/cpython/commit/979daae300916adb399ab5b51410b6ebd0888f13.patch";
|
||||
name = "CVE-2018-20852.patch";
|
||||
sha256 = "0p838ycssd6abxzby69rhngjqqm59cmlp07910mpjx7lmsz049pb";
|
||||
})
|
||||
|
||||
# Fix race-condition during pyc creation. Has a slight backwards
|
||||
# incompatible effect: pyc symlinks will now be overridden
|
||||
# (https://bugs.python.org/issue17222). Included in python >= 3.4,
|
||||
|
||||
@@ -93,8 +93,8 @@
|
||||
_osx_support.customize_compiler(_config_vars)
|
||||
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
|
||||
|
||||
- (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
|
||||
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
|
||||
- (cc, cxx, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
|
||||
- get_config_vars('CC', 'CXX', 'CFLAGS',
|
||||
- 'CCSHARED', 'LDSHARED', 'SO', 'AR',
|
||||
- 'ARFLAGS')
|
||||
+ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
|
||||
@@ -120,8 +120,7 @@
|
||||
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
|
||||
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
|
||||
if 'CFLAGS' in os.environ:
|
||||
- cflags = opt + ' ' + os.environ['CFLAGS']
|
||||
+ cflags = os.environ['CFLAGS']
|
||||
cflags = cflags + ' ' + os.environ['CFLAGS']
|
||||
ldshared = ldshared + ' ' + os.environ['CFLAGS']
|
||||
+ if 'CXXFLAGS' in os.environ:
|
||||
+ cxxflags = os.environ['CXXFLAGS']
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
From 597e73f2a4b2f0b508127931b36d5540d6941823 Mon Sep 17 00:00:00 2001
|
||||
From: Frederik Rietdijk <fridh@fridh.nl>
|
||||
Date: Mon, 28 Aug 2017 09:24:06 +0200
|
||||
Subject: [PATCH] Don't use ldconfig
|
||||
|
||||
---
|
||||
Lib/ctypes/util.py | 70 ++----------------------------------------------------
|
||||
1 file changed, 2 insertions(+), 68 deletions(-)
|
||||
|
||||
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
|
||||
index 5e8b31a854..7b45ce6c15 100644
|
||||
--- a/Lib/ctypes/util.py
|
||||
+++ b/Lib/ctypes/util.py
|
||||
@@ -94,46 +94,7 @@ elif os.name == "posix":
|
||||
import re, tempfile
|
||||
|
||||
def _findLib_gcc(name):
|
||||
- # Run GCC's linker with the -t (aka --trace) option and examine the
|
||||
- # library name it prints out. The GCC command will fail because we
|
||||
- # haven't supplied a proper program with main(), but that does not
|
||||
- # matter.
|
||||
- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name))
|
||||
-
|
||||
- c_compiler = shutil.which('gcc')
|
||||
- if not c_compiler:
|
||||
- c_compiler = shutil.which('cc')
|
||||
- if not c_compiler:
|
||||
- # No C compiler available, give up
|
||||
- return None
|
||||
-
|
||||
- temp = tempfile.NamedTemporaryFile()
|
||||
- try:
|
||||
- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name]
|
||||
-
|
||||
- env = dict(os.environ)
|
||||
- env['LC_ALL'] = 'C'
|
||||
- env['LANG'] = 'C'
|
||||
- try:
|
||||
- proc = subprocess.Popen(args,
|
||||
- stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.STDOUT,
|
||||
- env=env)
|
||||
- except OSError: # E.g. bad executable
|
||||
- return None
|
||||
- with proc:
|
||||
- trace = proc.stdout.read()
|
||||
- finally:
|
||||
- try:
|
||||
- temp.close()
|
||||
- except FileNotFoundError:
|
||||
- # Raised if the file was already removed, which is the normal
|
||||
- # behaviour of GCC if linking fails
|
||||
- pass
|
||||
- res = re.search(expr, trace)
|
||||
- if not res:
|
||||
- return None
|
||||
- return os.fsdecode(res.group(0))
|
||||
+ return None
|
||||
|
||||
|
||||
if sys.platform == "sunos5":
|
||||
@@ -255,34 +216,7 @@ elif os.name == "posix":
|
||||
else:
|
||||
|
||||
def _findSoname_ldconfig(name):
|
||||
- import struct
|
||||
- if struct.calcsize('l') == 4:
|
||||
- machine = os.uname().machine + '-32'
|
||||
- else:
|
||||
- machine = os.uname().machine + '-64'
|
||||
- mach_map = {
|
||||
- 'x86_64-64': 'libc6,x86-64',
|
||||
- 'ppc64-64': 'libc6,64bit',
|
||||
- 'sparc64-64': 'libc6,64bit',
|
||||
- 's390x-64': 'libc6,64bit',
|
||||
- 'ia64-64': 'libc6,IA-64',
|
||||
- }
|
||||
- abi_type = mach_map.get(machine, 'libc6')
|
||||
-
|
||||
- # XXX assuming GLIBC's ldconfig (with option -p)
|
||||
- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s'
|
||||
- regex = os.fsencode(regex % (re.escape(name), abi_type))
|
||||
- try:
|
||||
- with subprocess.Popen(['/sbin/ldconfig', '-p'],
|
||||
- stdin=subprocess.DEVNULL,
|
||||
- stderr=subprocess.DEVNULL,
|
||||
- stdout=subprocess.PIPE,
|
||||
- env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
|
||||
- res = re.search(regex, p.stdout.read())
|
||||
- if res:
|
||||
- return os.fsdecode(res.group(1))
|
||||
- except OSError:
|
||||
- pass
|
||||
+ return None
|
||||
|
||||
def _findLib_ld(name):
|
||||
# See issue #9998 for why this is needed
|
||||
--
|
||||
2.15.0
|
||||
|
||||
@@ -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"
|
||||
@@ -100,7 +101,7 @@ in with passthru; stdenv.mkDerivation {
|
||||
] ++ optionals isPy35 [
|
||||
# Backports support for LD_LIBRARY_PATH from 3.6
|
||||
./3.5/ld_library_path.patch
|
||||
] ++ optionals isPy37 [
|
||||
] ++ optionals (isPy37 || isPy38) [
|
||||
# Fix darwin build https://bugs.python.org/issue34027
|
||||
(fetchpatch {
|
||||
url = https://bugs.python.org/file47666/darwin-libutil.patch;
|
||||
@@ -114,7 +115,7 @@ in with passthru; stdenv.mkDerivation {
|
||||
(
|
||||
if isPy35 then
|
||||
./3.5/python-3.x-distutils-C++.patch
|
||||
else if isPy37 then
|
||||
else if isPy37 || isPy38 then
|
||||
./3.7/python-3.x-distutils-C++.patch
|
||||
else
|
||||
fetchpatch {
|
||||
|
||||
@@ -28,6 +28,8 @@ with pkgs;
|
||||
isPy35 = pythonVersion == "3.5";
|
||||
isPy36 = pythonVersion == "3.6";
|
||||
isPy37 = pythonVersion == "3.7";
|
||||
isPy38 = pythonVersion == "3.8";
|
||||
isPy39 = pythonVersion == "3.9";
|
||||
isPy2 = lib.strings.substring 0 1 pythonVersion == "2";
|
||||
isPy3 = lib.strings.substring 0 1 pythonVersion == "3";
|
||||
isPy3k = isPy3;
|
||||
@@ -51,10 +53,10 @@ in {
|
||||
sourceVersion = {
|
||||
major = "2";
|
||||
minor = "7";
|
||||
patch = "16";
|
||||
patch = "17";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "1mqfcqp5y8r0bfyr7ppl74n0lig45p9mc4b8adlcpvj74rhfy8pj";
|
||||
sha256 = "0hds28cg226m8j8sr394nm9yc4gxhvlv109w0avsf2mxrlrz0hsd";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
@@ -64,10 +66,10 @@ in {
|
||||
sourceVersion = {
|
||||
major = "3";
|
||||
minor = "5";
|
||||
patch = "7";
|
||||
patch = "9";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18";
|
||||
sha256 = "0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
@@ -90,10 +92,10 @@ in {
|
||||
sourceVersion = {
|
||||
major = "3";
|
||||
minor = "7";
|
||||
patch = "4";
|
||||
patch = "5";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
|
||||
sha256 = "154xc6dxww21qkmphg66pfks8987a17cl3vqq5g4hv1xkzm7cnp8";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
@@ -104,26 +106,30 @@ in {
|
||||
major = "3";
|
||||
minor = "8";
|
||||
patch = "0";
|
||||
suffix = "b3";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "03wq85pkpr9j56k3zg6whahc5park1pzshbakl7y50lzrkpq2ynd";
|
||||
sha256 = "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
python39 = callPackage ./cpython {
|
||||
self = python39;
|
||||
sourceVersion = {
|
||||
major = "3";
|
||||
minor = "9";
|
||||
patch = "0";
|
||||
suffix = "a1";
|
||||
};
|
||||
sha256 = "02b337kvzb6ncqab21xnayh562zpz6bqzjmh35iy9l48zgpkvf1n";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
# 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;
|
||||
@@ -199,4 +205,9 @@ in {
|
||||
ncurses = ncurses5;
|
||||
};
|
||||
|
||||
graalpython37 = callPackage ./graalpython/default.nix {
|
||||
self = pythonInterpreters.graalpython37;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
})
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{ pkgs
|
||||
, lib
|
||||
, graalvm8
|
||||
, passthruFun
|
||||
, packageOverrides ? (self: super: {})
|
||||
, self
|
||||
}:
|
||||
|
||||
let
|
||||
passthru = passthruFun {
|
||||
inherit self packageOverrides;
|
||||
implementation = "graal";
|
||||
sourceVersion = graalvm8.version;
|
||||
pythonVersion = "3.7";
|
||||
libPrefix = "graalvm";
|
||||
sitePackages = "jre/languages/python/lib-python/3/site-packages";
|
||||
executable = "graalpython";
|
||||
hasDistutilsCxxPatch = false;
|
||||
pythonForBuild = pkgs.buildPackages.pythonInterpreters.graalpython37;
|
||||
};
|
||||
in lib.extendDerivation true passthru graalvm8
|
||||
@@ -9,7 +9,7 @@ flitBuildPhase () {
|
||||
echo "Finished executing flitBuildPhase"
|
||||
}
|
||||
|
||||
if [ -z "$dontUseFlitBuild" ] && [ -z "$buildPhase" ]; then
|
||||
if [ -z "${dontUseFlitBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||
echo "Using flitBuildPhase"
|
||||
buildPhase=flitBuildPhase
|
||||
fi
|
||||
|
||||
@@ -31,12 +31,12 @@ pipShellHook() {
|
||||
echo "Finished executing pipShellHook"
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePipBuild" ] && [ -z "$buildPhase" ]; then
|
||||
if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||
echo "Using pipBuildPhase"
|
||||
buildPhase=pipBuildPhase
|
||||
fi
|
||||
|
||||
if [ -z "$shellHook" ]; then
|
||||
if [ -z "${shellHook-}" ]; then
|
||||
echo "Using pipShellHook"
|
||||
shellHook=pipShellHook
|
||||
fi
|
||||
|
||||
@@ -18,7 +18,7 @@ pipInstallPhase() {
|
||||
echo "Finished executing pipInstallPhase"
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePipInstall" ] && [ -z "$installPhase" ]; then
|
||||
if [ -z "${dontUsePipInstall-}" ] && [ -z "${installPhase-}" ]; then
|
||||
echo "Using pipInstallPhase"
|
||||
installPhase=pipInstallPhase
|
||||
fi
|
||||
|
||||
@@ -43,7 +43,7 @@ function pytestCheckPhase() {
|
||||
echo "Finished executing pytestCheckPhase"
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePytestCheck" ] && [ -z "$installCheckPhase" ]; then
|
||||
if [ -z "${dontUsePytestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
|
||||
echo "Using pytestCheckPhase"
|
||||
preDistPhases+=" pytestCheckPhase"
|
||||
fi
|
||||
|
||||
@@ -5,6 +5,6 @@ pythonCatchConflictsPhase() {
|
||||
@pythonInterpreter@ @catchConflicts@
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePythonCatchConflicts" ]; then
|
||||
if [ -z "${dontUsePythonCatchConflicts-}" ]; then
|
||||
preDistPhases+=" pythonCatchConflictsPhase"
|
||||
fi
|
||||
|
||||
@@ -10,7 +10,7 @@ pythonImportsCheckPhase () {
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePythonImportsCheck" ]; then
|
||||
if [ -z "${dontUsePythonImportsCheck-}" ]; then
|
||||
echo "Using pythonImportsCheckPhase"
|
||||
preDistPhases+=" pythonImportsCheckPhase"
|
||||
fi
|
||||
|
||||
@@ -12,6 +12,6 @@ pythonRemoveBinBytecodePhase () {
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -z "$dontUsePythonRemoveBinBytecode" ]; then
|
||||
if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then
|
||||
preDistPhases+=" pythonRemoveBinBytecodePhase"
|
||||
fi
|
||||
|
||||
@@ -17,7 +17,7 @@ setuptoolsBuildPhase() {
|
||||
eval "@pythonInterpreter@ nix_run_setup $args bdist_wheel"
|
||||
|
||||
runHook postBuild
|
||||
echo "Finished executing setuptoolsInstallPhase"
|
||||
echo "Finished executing setuptoolsBuildPhase"
|
||||
}
|
||||
|
||||
setuptoolsShellHook() {
|
||||
@@ -27,21 +27,21 @@ setuptoolsShellHook() {
|
||||
if test -e setup.py; then
|
||||
tmp_path=$(mktemp -d)
|
||||
export PATH="$tmp_path/bin:$PATH"
|
||||
export PYTHONPATH="@pythonSitePackages@:$PYTHONPATH"
|
||||
export PYTHONPATH="$tmp_path/@pythonSitePackages@:$PYTHONPATH"
|
||||
mkdir -p "$tmp_path/@pythonSitePackages@"
|
||||
eval "@pythonInterpreter@ -m pip -e . --prefix $tmp_path >&2"
|
||||
eval "@pythonInterpreter@ -m pip install -e . --prefix $tmp_path >&2"
|
||||
fi
|
||||
|
||||
runHook postShellHook
|
||||
echo "Finished executing setuptoolsShellHook"
|
||||
}
|
||||
|
||||
if [ -z "$dontUseSetuptoolsBuild" ] && [ -z "$buildPhase" ]; then
|
||||
if [ -z "${dontUseSetuptoolsBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||
echo "Using setuptoolsBuildPhase"
|
||||
buildPhase=setuptoolsBuildPhase
|
||||
fi
|
||||
|
||||
if [ -z "$dontUseSetuptoolsShellHook" ] && [ -z "$shellHook" ]; then
|
||||
if [ -z "${dontUseSetuptoolsShellHook-}" ] && [ -z "${shellHook-}" ]; then
|
||||
echo "Using setuptoolsShellHook"
|
||||
shellHook=setuptoolsShellHook
|
||||
fi
|
||||
|
||||
@@ -12,7 +12,7 @@ setuptoolsCheckPhase() {
|
||||
echo "Finished executing setuptoolsCheckPhase"
|
||||
}
|
||||
|
||||
if [ -z "$dontUseSetuptoolsCheck" ] && [ -z "$installCheckPhase" ]; then
|
||||
if [ -z "${dontUseSetuptoolsCheck-}" ] && [ -z "${installCheckPhase-}" ]; then
|
||||
echo "Using setuptoolsCheckPhase"
|
||||
preDistPhases+=" setuptoolsCheckPhase"
|
||||
fi
|
||||
|
||||
@@ -12,7 +12,7 @@ wheelUnpackPhase(){
|
||||
echo "Finished executing wheelUnpackPhase"
|
||||
}
|
||||
|
||||
if [ -z "$dontUseWheelUnpack" ] && [ -z "$unpackPhase" ]; then
|
||||
if [ -z "${dontUseWheelUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
|
||||
echo "Using wheelUnpackPhase"
|
||||
unpackPhase=wheelUnpackPhase
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
{ lib, pkgs }:
|
||||
|
||||
let
|
||||
# Create a derivation that links all desired manylinux libraries
|
||||
createManyLinuxPackage = name: libs: let
|
||||
drvs = lib.unique (lib.attrValues libs);
|
||||
names = lib.attrNames libs;
|
||||
in pkgs.runCommand name {
|
||||
buildInputs = drvs;
|
||||
} ''
|
||||
mkdir -p $out/lib
|
||||
num_found=0
|
||||
|
||||
IFS=:
|
||||
export DESIRED_LIBRARIES=${lib.concatStringsSep ":" names}
|
||||
export LIBRARY_PATH=${lib.makeLibraryPath drvs}
|
||||
for desired in $DESIRED_LIBRARIES; do
|
||||
for path in $LIBRARY_PATH; do
|
||||
if [ -e $path/$desired ]; then
|
||||
echo "FOUND $path/$desired"
|
||||
ln -s $path/$desired $out/lib/$desired
|
||||
num_found=$((num_found+1))
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
num_desired=${toString (lib.length names)}
|
||||
echo "Found $num_found of $num_desired libraries"
|
||||
if [ "$num_found" -ne "$num_desired" ]; then
|
||||
echo "Error: not all desired libraries were found"
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
|
||||
# https://www.python.org/dev/peps/pep-0599/
|
||||
manylinux2014Libs = with pkgs; {
|
||||
"libgcc_s.so.1" = glibc;
|
||||
"libstdc++.so.6" = stdenv.cc.cc;
|
||||
"libm.so.6" = glibc;
|
||||
"libdl.so.2" = glibc;
|
||||
"librt.so.1" = glibc;
|
||||
"libc.so.6" = glibc;
|
||||
"libnsl.so.1" = glibc;
|
||||
"libutil.so.1" = glibc;
|
||||
"libpthread.so.0" = glibc;
|
||||
"libresolv.so.2" = glibc;
|
||||
"libX11.so.6" = xorg.libX11;
|
||||
"libXext.so.6" = xorg.libXext;
|
||||
"libXrender.so.1" = xorg.libXrender;
|
||||
"libICE.so.6" = xorg.libICE;
|
||||
"libSM.so.6" = xorg.libSM;
|
||||
"libGL.so.1" = libGL;
|
||||
"libgobject-2.0.so.0" = glib;
|
||||
"libgthread-2.0.so.0" = glib;
|
||||
"libglib-2.0.so.0" = glib;
|
||||
};
|
||||
|
||||
# https://www.python.org/dev/peps/pep-0571/
|
||||
manylinux2010Libs = manylinux2014Libs;
|
||||
|
||||
# https://www.python.org/dev/peps/pep-0513/
|
||||
manylinux1Libs = manylinux2010Libs // (with pkgs; {
|
||||
"libpanelw.so.5" = ncurses5;
|
||||
"libncursesw.so.5" = ncurses5;
|
||||
"libcrypt.so.1" = glibc;
|
||||
});
|
||||
in {
|
||||
# List of libraries that are needed for manylinux compatibility.
|
||||
# When using a wheel that is manylinux1 compatible, just extend
|
||||
# the `buildInputs` with one of these `manylinux` lists.
|
||||
# Additionally, add `autoPatchelfHook` to `nativeBuildInputs`.
|
||||
manylinux1 = lib.unique (lib.attrValues manylinux1Libs);
|
||||
manylinux2010 = lib.unique (lib.attrValues manylinux2010Libs);
|
||||
manylinux2014 = lib.unique (lib.attrValues manylinux2014Libs);
|
||||
|
||||
# These are symlink trees to the relevant libs and are typically not needed
|
||||
# These exist so as to quickly test whether all required libraries are provided
|
||||
# by the mapped packages.
|
||||
manylinux1Package = createManyLinuxPackage "manylinux1" manylinux1Libs;
|
||||
manylinux2010Package = createManyLinuxPackage "manylinux2010" manylinux2010Libs;
|
||||
manylinux2014Package = createManyLinuxPackage "manylinux2014" manylinux2014Libs;
|
||||
}
|
||||
+42
-5
@@ -6,9 +6,9 @@ You can pass in multiple files or paths.
|
||||
|
||||
You'll likely want to use
|
||||
``
|
||||
$ ./update-python-libraries ../../pkgs/development/python-modules/*
|
||||
$ ./update-python-libraries ../../pkgs/development/python-modules/**/default.nix
|
||||
``
|
||||
to update all libraries in that folder.
|
||||
to update all non-pinned libraries in that folder.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
@@ -116,11 +116,45 @@ SEMVER = {
|
||||
}
|
||||
|
||||
|
||||
def _determine_latest_version(current_version, target, versions):
|
||||
"""Determine latest version, given `target`.
|
||||
"""
|
||||
current_version = Version(current_version)
|
||||
|
||||
def _parse_versions(versions):
|
||||
for v in versions:
|
||||
try:
|
||||
yield Version(v)
|
||||
except InvalidVersion:
|
||||
pass
|
||||
|
||||
versions = _parse_versions(versions)
|
||||
|
||||
index = SEMVER[target]
|
||||
|
||||
ceiling = list(current_version[0:index])
|
||||
if len(ceiling) == 0:
|
||||
ceiling = None
|
||||
else:
|
||||
ceiling[-1]+=1
|
||||
ceiling = Version(".".join(map(str, ceiling)))
|
||||
|
||||
# We do not want prereleases
|
||||
versions = SpecifierSet(prereleases=PRERELEASES).filter(versions)
|
||||
|
||||
if ceiling is not None:
|
||||
versions = SpecifierSet(f"<{ceiling}").filter(versions)
|
||||
|
||||
return (max(sorted(versions))).raw_version
|
||||
|
||||
|
||||
def _get_latest_version_pypi(package, extension, current_version, target):
|
||||
"""Get latest version and hash from PyPI."""
|
||||
url = "{}/{}/json".format(INDEX, package)
|
||||
json = _fetch_page(url)
|
||||
version = json['info']['version']
|
||||
|
||||
versions = json['releases'].keys()
|
||||
version = _determine_latest_version(current_version, target, versions)
|
||||
|
||||
try:
|
||||
releases = json['releases'][version]
|
||||
@@ -132,7 +166,6 @@ def _get_latest_version_pypi(package, extension, current_version, target):
|
||||
sha256 = release['digests']['sha256']
|
||||
break
|
||||
else:
|
||||
logging.error("Release not found for extension: {}".format(extension))
|
||||
sha256 = None
|
||||
return version, sha256
|
||||
|
||||
@@ -194,6 +227,10 @@ def _determine_extension(text, fetcher):
|
||||
src_format = 'setuptools'
|
||||
elif src_format == 'flit':
|
||||
raise ValueError("Don't know how to update a Flit package.")
|
||||
elif src_format == 'other':
|
||||
raise ValueError("Don't know how to update a format='other' package.")
|
||||
elif src_format == 'pyproject':
|
||||
raise ValueError("Don't know how to update a pyproject package.")
|
||||
extension = FORMATS[src_format]
|
||||
|
||||
elif fetcher == 'fetchurl':
|
||||
@@ -326,4 +363,4 @@ def main():
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "quickjs";
|
||||
version = "2019-10-27";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0xm16ja3c0k80jy0xkx0f40r44v2lgx2si4dnaw2w7c5nx7cmkai";
|
||||
};
|
||||
|
||||
makeFlags = [ "prefix=${placeholder ''out''}" ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
PATH="$out/bin:$PATH"
|
||||
|
||||
# Programs exit with code 1 when testing help, so grep for a string
|
||||
set +o pipefail
|
||||
qjs --help 2>&1 | grep "QuickJS version"
|
||||
qjsbn --help 2>&1 | grep "QuickJS version"
|
||||
qjscalc --help 2>&1 | grep "QuickJS version"
|
||||
set -o pipefail
|
||||
|
||||
temp=$(mktemp).js
|
||||
echo "console.log('Output from compiled program');" > "$temp"
|
||||
set -o verbose
|
||||
out=$(mktemp) && qjsc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
|
||||
out=$(mktemp) && qjsbnc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
|
||||
out=$(mktemp) && qjsc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
|
||||
out=$(mktemp) && qjsbnc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A small and embeddable Javascript engine";
|
||||
homepage = "https://bellard.org/quickjs/";
|
||||
maintainers = with maintainers; [ stesie ivan ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
@@ -46,7 +46,7 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "racket";
|
||||
version = "7.3"; # always change at once with ./minimal.nix
|
||||
version = "7.5"; # always change at once with ./minimal.nix
|
||||
|
||||
src = (stdenv.lib.makeOverridable ({ name, sha256 }:
|
||||
fetchurl {
|
||||
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
|
||||
inherit sha256;
|
||||
}
|
||||
)) {
|
||||
inherit ;name = "${pname}-${version}";
|
||||
sha256 = "0h6072njhb87rkz4arijvahxgjzn8r14s4wns0ijvxm89bg136yl";
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "0b74v0pqkx57x2gk0m4sp94jaf6bi1mci4ix9vx4sh2442sbds1j";
|
||||
};
|
||||
|
||||
FONTCONFIG_FILE = fontsConf;
|
||||
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
|
||||
GUIs and charts.
|
||||
'';
|
||||
homepage = http://racket-lang.org/;
|
||||
license = licenses.lgpl3;
|
||||
license = with licenses; [ asl20 /* or */ mit ];
|
||||
maintainers = with maintainers; [ kkallio henrytill vrthra ];
|
||||
platforms = [ "x86_64-darwin" "x86_64-linux" ];
|
||||
broken = stdenv.isDarwin; # No support yet for setting FFI lookup path
|
||||
|
||||
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
|
||||
name = "racket-minimal-${oldAttrs.version}";
|
||||
src = oldAttrs.src.override {
|
||||
inherit name;
|
||||
sha256 = "1byvg1vy8hn1j64d5gjiwzfbghdp7lhja9xwz9x8iicwfldkjybj";
|
||||
sha256 = "0478f0phkjch10ncsl8lm8a1m8qvgchrkgzpcaxyhmg2clyjgn8r";
|
||||
};
|
||||
|
||||
meta = oldAttrs.meta // {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ stdenv, fetchurl, pythonPackages, pkgconfig, SDL2
|
||||
, libpng, ffmpeg, freetype, glew, libGLU_combined, fribidi, zlib
|
||||
{ stdenv, fetchurl, python2Packages, pkgconfig, SDL2
|
||||
, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
|
||||
, glib
|
||||
}:
|
||||
|
||||
with pythonPackages;
|
||||
with python2Packages;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "renpy";
|
||||
version = "7.3.2";
|
||||
version = "7.3.5";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Ren'Py Visual Novel Engine";
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
|
||||
sha256 = "1i7s9s8invsm5bavw2jlk965pb5h5vgwyk1nhw0z1d22spmj4a4m";
|
||||
sha256 = "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
python cython wrapPython tkinter
|
||||
SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib
|
||||
SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
|
||||
];
|
||||
|
||||
pythonPath = [ pygame_sdl2 tkinter ];
|
||||
|
||||
RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: path) [
|
||||
SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib
|
||||
SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
|
||||
]);
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, zip, which, readline, icu, zlib, nspr, buildPackages }:
|
||||
|
||||
let
|
||||
version = "52.9.0";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "spidermonkey";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
|
||||
sha256 = "1mlx34fgh1kaqamrkl5isf0npch3mm6s4lz3jsjb7hakiijhj7f0";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
setOutputFlags = false; # Configure script only understands --includedir
|
||||
|
||||
buildInputs = [ readline icu zlib nspr ];
|
||||
nativeBuildInputs = [ autoconf213 pkgconfig perl which buildPackages.python2 zip ];
|
||||
|
||||
# Apparently this package fails to build correctly with modern compilers, which at least
|
||||
# on ARMv6 causes polkit testsuite to break with an assertion failure in spidermonkey.
|
||||
# These flags were stolen from:
|
||||
# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/js52
|
||||
NIX_CFLAGS_COMPILE = "-fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp";
|
||||
|
||||
patches = [
|
||||
# needed to build gnome3.gjs
|
||||
(fetchpatch {
|
||||
name = "mozjs52-disable-mozglue.patch";
|
||||
url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/mozjs52-disable-mozglue.patch?h=packages/js52&id=4279d2e18d9a44f6375f584911f63d13de7704be;
|
||||
sha256 = "18wkss0agdyff107p5lfflk72qiz350xqw2yqc353alkx4fsfpz0";
|
||||
})
|
||||
];
|
||||
|
||||
configurePlatforms = [ ];
|
||||
|
||||
preConfigure = ''
|
||||
export CXXFLAGS="-fpermissive"
|
||||
export LIBXUL_DIST=$out
|
||||
export PYTHON="${buildPackages.python2.interpreter}"
|
||||
configureFlagsArray+=("--includedir=$dev/include")
|
||||
|
||||
cd js/src
|
||||
|
||||
autoconf
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-nspr-prefix=${nspr}"
|
||||
"--with-system-zlib"
|
||||
"--with-system-icu"
|
||||
"--with-intl-api"
|
||||
"--enable-readline"
|
||||
"--enable-shared-js"
|
||||
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
|
||||
++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"--host=${stdenv.buildPlatform.config}"
|
||||
"--target=${stdenv.hostPlatform.config}"
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
|
||||
];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput bin/js52-config "$dev"
|
||||
# Nuke a static lib.
|
||||
rm $out/lib/libjs_static.ajs
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Mozilla's JavaScript engine written in C/C++";
|
||||
homepage = https://developer.mozilla.org/en/SpiderMonkey;
|
||||
license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
|
||||
maintainers = [ maintainers.abbradar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -4,23 +4,28 @@
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
version = "60.4.0";
|
||||
version = "60.9.0";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "spidermonkey";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
|
||||
sha256 = "11gzxd82grc3kg1ha4yni6ag6b97n46qycvv6x15s91ziia5hli0";
|
||||
sha256 = "0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
setOutputFlags = false; # Configure script only understands --includedir
|
||||
|
||||
buildInputs = [ readline zlib icu ];
|
||||
nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
|
||||
|
||||
patches = [
|
||||
# Fixed in 62.0
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1415202
|
||||
(fetchpatch {
|
||||
url = https://bug1415202.bmoattachments.org/attachment.cgi?id=8926363;
|
||||
sha256 = "082ryrvqa3lvs67v3sq9kf2jshf4qp1fpi195wffc40jdrl8fnin";
|
||||
url = "https://src.fedoraproject.org/rpms/mozjs60/raw/a1b605c73f382db25977cb2d4d70a3ba2ff85b92/f/Always-use-the-equivalent-year-to-determine-the-time-zone.patch";
|
||||
sha256 = "12i225qbzlyfj2disms50zrr5jy8zgn2cc4rgsg58sfgf1bn7150";
|
||||
})
|
||||
];
|
||||
|
||||
@@ -61,7 +66,9 @@ in stdenv.mkDerivation {
|
||||
|
||||
# Remove unnecessary static lib
|
||||
preFixup = ''
|
||||
moveToOutput bin/js60-config "$dev"
|
||||
rm $out/lib/libjs_static.ajs
|
||||
ln -s $out/bin/js60 $out/bin/js
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,24 +1,24 @@
|
||||
{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang }:
|
||||
{ rustPlatform, fetchFromGitHub, lib, python, cmake, llvmPackages, clang, stdenv, darwin }:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "wasmtime";
|
||||
version = "20190521";
|
||||
version = "20191111";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CraneStation";
|
||||
owner = "bytecodealliance";
|
||||
repo = "wasmtime";
|
||||
rev = "e530a582afe6a2b5735fd7cdf5e2e88391e58669";
|
||||
sha256 = "13lqf9dp1cnw7ms7hcgirmlfkr0v7nrn3p5g7yacfasrqgnwsyl8";
|
||||
rev = "0006a2af954eba74c79885cb1fe8cdeb68f531c1";
|
||||
sha256 = "0lf3pdkjxcrjmjic7xxyjl5dka3arxi809sp9hm4hih5p2fhf2gw";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoSha256 = "1jbpq09czm295316gdv3y0pfapqs0ynj3qbarwlnrv7valq5ak13";
|
||||
cargoSha256 = "0mnwaipa2az3vpgbz4m9siz6bfyhmzwz174k678cv158m7mxx12f";
|
||||
|
||||
cargoPatches = [ ./cargo-lock.patch ];
|
||||
|
||||
nativeBuildInputs = [ python cmake clang ];
|
||||
buildInputs = [ llvmPackages.libclang ];
|
||||
|
||||
buildInputs = [ llvmPackages.libclang ] ++
|
||||
lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
Reference in New Issue
Block a user