Merge origin/master into haskell-updates.

This commit is contained in:
Peter Simons
2021-03-17 21:19:22 +01:00
675 changed files with 13534 additions and 11133 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ config, lib, stdenv, fetchurl, pkg-config, libtool
, zip, libffi, libsigsegv, readline, gmp
, gnutls, gnome2, cairo, SDL, sqlite
, gnutls, gtk2, cairo, SDL, sqlite
, emacsSupport ? config.emacsSupport or false, emacs ? null }:
assert emacsSupport -> (emacs != null);
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
# http://smalltalk.gnu.org/download
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libtool zip libffi libsigsegv-shared readline gmp gnutls gnome2.gtk
libtool zip libffi libsigsegv-shared readline gmp gnutls gtk2
cairo SDL sqlite
]
++ lib.optional emacsSupport emacs;

View File

@@ -11,7 +11,7 @@ let
inherit (lib) optionals optionalString;
version = "1.15.8";
version = "1.15.10";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "1hlphkrsvb5nza5ajm24x4nrhyg4b0afs88kk4jd310hg2vhl32l";
sha256 = "0rfx20y13cflv68nn8jci1fx34vfdn7qgyavm5hivd0h15pcmny1";
};
# perl is used for testing go vet

View File

@@ -11,7 +11,7 @@ let
inherit (lib) optionals optionalString;
version = "1.16";
version = "1.16.2";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "0nn98xiw8zrvxf9f36p8dzc7ihrrkakr0g9jiy4haqb5alyhd23n";
sha256 = "1sl33wkhp6pi9f15f6khp5a7l7xwmpc3sp1zmji8pjr3g8l19jip";
};
# perl is used for testing go vet

View File

@@ -0,0 +1,78 @@
{ lib, gccStdenv, fetchzip, boost, cmake, ncurses, python3, coreutils
, z3Support ? true, z3 ? null, cvc4Support ? true, cvc4 ? null
, cln ? null, gmp ? null
}:
# compiling source/libsmtutil/CVC4Interface.cpp breaks on clang on Darwin,
# general commandline tests fail at abiencoderv2_no_warning/ on clang on NixOS
assert z3Support -> z3 != null && lib.versionAtLeast z3.version "4.6.0";
assert cvc4Support -> cvc4 != null && cln != null && gmp != null;
let
jsoncppVersion = "1.9.4";
jsoncppUrl = "https://github.com/open-source-parsers/jsoncpp/archive/${jsoncppVersion}.tar.gz";
jsoncpp = fetchzip {
url = jsoncppUrl;
sha256 = "0qnx5y6c90fphl9mj9d20j2dfgy6s5yr5l0xnzid0vh71zrp6jwv";
};
in
gccStdenv.mkDerivation rec {
pname = "solc";
version = "0.7.4";
# upstream suggests avoid using archive generated by github
src = fetchzip {
url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
sha256 = "02261l54jdbvxk612z7zsyvmchy1rx4lf27b3f616sd7r56krpkg";
};
postPatch = ''
substituteInPlace cmake/jsoncpp.cmake \
--replace "${jsoncppUrl}" ${jsoncpp}
'';
cmakeFlags = [
"-DBoost_USE_STATIC_LIBS=OFF"
] ++ lib.optionals (!z3Support) [
"-DUSE_Z3=OFF"
] ++ lib.optionals (!cvc4Support) [
"-DUSE_CVC4=OFF"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ boost ]
++ lib.optionals z3Support [ z3 ]
++ lib.optionals cvc4Support [ cvc4 cln gmp ];
checkInputs = [ ncurses python3 ];
# Test fails on darwin for unclear reason
doCheck = gccStdenv.hostPlatform.isLinux;
checkPhase = ''
while IFS= read -r -d ''' dir
do
LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$(pwd)/$dir
export LD_LIBRARY_PATH
done < <(find . -type d -print0)
pushd ..
# IPC tests need aleth avaliable, so we disable it
sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh
for i in ./scripts/*.sh ./scripts/*.py ./test/*.sh; do
patchShebangs "$i"
done
TERM=xterm ./scripts/tests.sh
popd
'';
meta = with lib; {
description = "Compiler for Ethereum smart contract language Solidity";
homepage = "https://github.com/ethereum/solidity";
license = licenses.gpl3;
platforms = with platforms; linux; # darwin is currently broken
maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
inherit version;
};
}

View File

@@ -1,6 +1,16 @@
{ lib, gccStdenv, fetchzip, boost, cmake, ncurses, python3, coreutils
, z3Support ? true, z3 ? null, cvc4Support ? true, cvc4 ? null
, cln ? null, gmp ? null
{ lib, gccStdenv, fetchzip
, boost
, cmake
, coreutils
, fetchpatch
, ncurses
, python3
, z3Support ? true
, z3 ? null
, cvc4Support ? true
, cvc4 ? null
, cln ? null
, gmp ? null
}:
# compiling source/libsmtutil/CVC4Interface.cpp breaks on clang on Darwin,
@@ -10,69 +20,88 @@ assert z3Support -> z3 != null && lib.versionAtLeast z3.version "4.6.0";
assert cvc4Support -> cvc4 != null && cln != null && gmp != null;
let
jsoncppVersion = "1.9.4";
jsoncppVersion = "1.9.3";
jsoncppUrl = "https://github.com/open-source-parsers/jsoncpp/archive/${jsoncppVersion}.tar.gz";
jsoncpp = fetchzip {
url = jsoncppUrl;
sha256 = "0qnx5y6c90fphl9mj9d20j2dfgy6s5yr5l0xnzid0vh71zrp6jwv";
sha256 = "1vbhi503rgwarf275ajfdb8vpdcbn1f7917wjkf8jghqwb1c24lq";
};
range3Version = "0.11.0";
range3Url = "https://github.com/ericniebler/range-v3/archive/${range3Version}.tar.gz";
range3 = fetchzip {
url = range3Url;
sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh";
};
solc = gccStdenv.mkDerivation rec {
pname = "solc";
version = "0.8.2";
# upstream suggests avoid using archive generated by github
src = fetchzip {
url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
sha256 = "11w7sa1y2dirzh84k04fkwbfc6xpjp5jr65w1pmb2pnkjvvf46xq";
};
postPatch = ''
substituteInPlace cmake/jsoncpp.cmake \
--replace "${jsoncppUrl}" ${jsoncpp}
substituteInPlace cmake/range-v3.cmake \
--replace "${range3Url}" ${range3}
'';
cmakeFlags = [
"-DBoost_USE_STATIC_LIBS=OFF"
] ++ lib.optionals (!z3Support) [
"-DUSE_Z3=OFF"
] ++ lib.optionals (!cvc4Support) [
"-DUSE_CVC4=OFF"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ boost ]
++ lib.optionals z3Support [ z3 ]
++ lib.optionals cvc4Support [ cvc4 cln gmp ];
checkInputs = [ ncurses python3 ];
# tests take 60+ minutes to complete, only run as part of passthru tests
doCheck = false;
checkPhase = ''
while IFS= read -r -d ''' dir
do
LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$(pwd)/$dir
export LD_LIBRARY_PATH
done < <(find . -type d -print0)
pushd ..
# IPC tests need aleth avaliable, so we disable it
sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh
for i in ./scripts/*.sh ./scripts/*.py ./test/*.sh ./test/*.py; do
patchShebangs "$i"
done
TERM=xterm ./scripts/tests.sh
popd
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/solc --version > /dev/null
'';
passthru.tests = {
solcWithTests = solc.overrideAttrs (attrs: { doCheck = true; });
};
meta = with lib; {
description = "Compiler for Ethereum smart contract language Solidity";
homepage = "https://github.com/ethereum/solidity";
license = licenses.gpl3;
platforms = with platforms; linux; # darwin is currently broken
maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
inherit version;
};
};
in
gccStdenv.mkDerivation rec {
pname = "solc";
version = "0.7.4";
# upstream suggests avoid using archive generated by github
src = fetchzip {
url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
sha256 = "02261l54jdbvxk612z7zsyvmchy1rx4lf27b3f616sd7r56krpkg";
};
postPatch = ''
substituteInPlace cmake/jsoncpp.cmake \
--replace "${jsoncppUrl}" ${jsoncpp}
'';
cmakeFlags = [
"-DBoost_USE_STATIC_LIBS=OFF"
] ++ lib.optionals (!z3Support) [
"-DUSE_Z3=OFF"
] ++ lib.optionals (!cvc4Support) [
"-DUSE_CVC4=OFF"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ boost ]
++ lib.optionals z3Support [ z3 ]
++ lib.optionals cvc4Support [ cvc4 cln gmp ];
checkInputs = [ ncurses python3 ];
# Test fails on darwin for unclear reason
doCheck = gccStdenv.hostPlatform.isLinux;
checkPhase = ''
while IFS= read -r -d ''' dir
do
LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$(pwd)/$dir
export LD_LIBRARY_PATH
done < <(find . -type d -print0)
pushd ..
# IPC tests need aleth avaliable, so we disable it
sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh
for i in ./scripts/*.sh ./scripts/*.py ./test/*.sh; do
patchShebangs "$i"
done
TERM=xterm ./scripts/tests.sh
popd
'';
meta = with lib; {
description = "Compiler for Ethereum smart contract language Solidity";
homepage = "https://github.com/ethereum/solidity";
license = licenses.gpl3;
platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
inherit version;
};
}
solc

View File

@@ -0,0 +1,41 @@
{ lib
, stdenv
, fetchurl
, installShellFiles
}:
stdenv.mkDerivation rec {
pname = "dxa";
version = "0.1.4";
src = fetchurl {
url = "https://www.floodgap.com/retrotech/xa/dists/${pname}-${version}.tar.gz";
hash = "sha256-C0rgwK51Ij9EZCm9GeiVnWIkEkse0d60ok8G9hm2a5U=";
};
nativeBuildInputs = [ installShellFiles ];
dontConfigure = true;
postPatch = ''
substituteInPlace \
--replace "CC = gcc" "CC = cc' \
Makefile
'';
installPhase = ''
runHook preInstall
install -d $out/bin/
install dxa $out/bin/
installManPage dxa.1
runHook postInstall
'';
meta = with lib; {
homepage = "https://www.floodgap.com/retrotech/xa/";
description = "Andre Fachat's open-source 6502 disassembler";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

View File

@@ -0,0 +1,52 @@
{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "xa";
version = "2.3.11";
src = fetchurl {
url = "https://www.floodgap.com/retrotech/xa/dists/${pname}-${version}.tar.gz";
hash = "sha256-MvIWTJnjBSGOmSlwhW3Y4jCbXLasR1jXsq/jv+vJAS0=";
};
dontConfigure = true;
postPatch = ''
substitueInPlace \
--replace "DESTDIR" "PREFIX" \
--replace "CC = gcc" "CC = cc" \
--replace "LDD = gcc" "LDD = ld" \
--replace "CFLAGS = -O2" "CFLAGS ?=" \
--replace "LDFLAGS = -lc" "LDFLAGS ?= -lc" \
Makefile
'';
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib; {
homepage = "https://www.floodgap.com/retrotech/xa/";
description = "Andre Fachat's open-source 6502 cross assembler";
longDescription = ''
xa is a high-speed, two-pass portable cross-assembler. It understands
mnemonics and generates code for NMOS 6502s (such as 6502A, 6504, 6507,
6510, 7501, 8500, 8501, 8502 ...), CMOS 6502s (65C02 and Rockwell R65C02)
and the 65816.
Key amongst its features:
- C-like preprocessor (and understands cpp for additional feature support)
- rich expression syntax and pseudo-op vocabulary
- multiple character sets
- binary linking
- supports o65 relocatable objects with a full linker and relocation
suite, as well as "bare" plain binary object files
- block structure for label scoping
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}