Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk
2020-11-09 14:49:10 +01:00
419 changed files with 10814 additions and 9939 deletions
@@ -35,6 +35,7 @@ gccStdenv.mkDerivation rec {
#runtimeDeps = [ gnused gnugrep ];
configureFlags = [
"--enable-targets=${gambit-params.targets}"
"--enable-single-host"
"--enable-c-opt=${optimizationSetting}"
"--enable-gcc-opts"
@@ -94,6 +95,7 @@ gccStdenv.mkDerivation rec {
# Now use the bootstrap compiler to build the real thing!
make -j$NIX_BUILD_CORES from-scratch
${lib.optionalString gambit-params.modules "make -j$NIX_BUILD_CORES modules"}
'';
postInstall = ''
@@ -2,12 +2,16 @@
rec {
stable-params = {
stable = true;
defaultRuntimeOptions = "f8,-8,t8";
buildRuntimeOptions = "f8,-8,t8";
fix-stamp = git-version : "";
targets = "java,js,php,python,ruby";
modules = false;
};
unstable-params = {
stable = false;
defaultRuntimeOptions = "iL,fL,-L,tL";
buildRuntimeOptions = "i8,f8,-8,t8";
fix-stamp = git-version : ''
@@ -15,6 +19,8 @@ rec {
--replace "$(grep '^PACKAGE_VERSION=.*$' configure)" 'PACKAGE_VERSION="v${git-version}"' \
--replace "$(grep '^PACKAGE_STRING=.*$' configure)" 'PACKAGE_STRING="Gambit v${git-version}"' ;
'';
targets = "arm,java,js,php,python,riscv-32,riscv-64,ruby,x86,x86-64"; # eats 100% cpu on _digest
modules = false;
};
export-gambopt = params : "export GAMBOPT=${params.buildRuntimeOptions} ;";
@@ -1,13 +1,13 @@
{ callPackage, fetchFromGitHub, gambit-support }:
callPackage ./build.nix {
version = "unstable-2020-07-29";
git-version = "4.9.3-1232-gbba388b8";
version = "unstable-2020-09-20";
git-version = "4.9.3-1234-g6acd87df";
src = fetchFromGitHub {
owner = "feeley";
repo = "gambit";
rev = "bba388b80ca62a77883a8936d64b03316808696a";
sha256 = "0iqlp1mvxz8g32kqrqm0phnnp1i5c4jrapqh2wqwa8fh1vgnizg1";
rev = "6acd87dfa95bfca33082a431e72f023345dc07ee";
sha256 = "0a3dy4ij8hzlp3sjam4b6dp6yvyz5d7g2x784qm3gp89fi2ck56r";
};
gambit-params = gambit-support.unstable-params;
}
@@ -2,8 +2,8 @@
gerbil-support.gerbilPackage {
pname = "gerbil-ethereum";
version = "unstable-2020-08-02";
git-version = "0.0-15-g7cd2dd7";
version = "unstable-2020-10-18";
git-version = "0.0-26-gf27ada8";
gerbil-package = "mukn/ethereum";
gerbil = gerbil-unstable;
gerbilInputs = with gerbil-support.gerbilPackages-unstable;
@@ -15,8 +15,8 @@ gerbil-support.gerbilPackage {
src = fetchFromGitHub {
owner = "fare";
repo = "gerbil-ethereum";
rev = "7cd2dd7436b11917d0729dbafe087cfa8ec38f86";
sha256 = "0qq3ch2dg735yrj3l2c9pb9qlvz98x3vjfi2xyr4fwr78smpqgb5";
rev = "f27ada8e7f4de4f8fbdfede9fe055914b254d8e7";
sha256 = "1lykjqim6a44whj1r8kkpiz68wghkfqx5vjlrc2ldxlmgd4r9gvd";
};
meta = {
description = "Gerbil Ethereum: a Scheme alternative to web3.js";
@@ -0,0 +1,27 @@
{ pkgs, lib, fetchFromGitHub, gerbil-unstable, gerbil-support, gambit-support }:
gerbil-support.gerbilPackage {
pname = "gerbil-libp2p";
version = "unstable-2018-12-27";
git-version = "2376b3f";
gerbil-package = "vyzo";
gerbil = gerbil-unstable;
gerbilInputs = [];
buildInputs = []; # Note: at *runtime*, depends on go-libp2p-daemon
gambit-params = gambit-support.unstable-params;
version-path = "version";
softwareName = "Gerbil-libp2p";
src = fetchFromGitHub {
owner = "vyzo";
repo = "gerbil-libp2p";
rev = "2376b3f39cee04dd4ec455c8ea4e5faa93c2bf88";
sha256 = "0jcy7hfg953078msigyfwp2g4ii44pi6q7vcpmq01cbbvxpxz6zw";
};
meta = {
description = "Gerbil libp2p: use libp2p from Gerbil";
homepage = "https://github.com/vyzo/gerbil-libp2p";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ fare ];
};
}
@@ -2,8 +2,8 @@
gerbil-support.gerbilPackage {
pname = "gerbil-persist";
version = "unstable-2020-08-02";
git-version = "0.0-4-ga3b2bd1";
version = "unstable-2020-08-31";
git-version = "0.0-8-gd211390";
gerbil-package = "clan/persist";
gerbil = gerbil-unstable;
gerbilInputs = with gerbil-support.gerbilPackages-unstable; [gerbil-utils gerbil-crypto gerbil-poo];
@@ -14,8 +14,8 @@ gerbil-support.gerbilPackage {
src = fetchFromGitHub {
owner = "fare";
repo = "gerbil-persist";
rev = "a3b2bd104612db0e4492737f09f72adea6684483";
sha256 = "0mc01wva26ww1i7n8naa95mfw7i6lj8qg0bwsik7gb3dsj2acjvh";
rev = "d211390c8a199cf2b8c7400cd98977524e960015";
sha256 = "13s6ws8ziwalfp23nalss41qnz667z2712lr3y123sypm5n5axk7";
};
meta = {
description = "Gerbil Persist: Persistent data and activities";
@@ -2,8 +2,8 @@
gerbil-support.gerbilPackage {
pname = "gerbil-ethereum";
version = "unstable-2020-08-02";
git-version = "0.0-13-g1014154";
version = "unstable-2020-10-17";
git-version = "0.0-35-g44d490d";
gerbil-package = "clan/poo";
gerbil = gerbil-unstable;
gerbilInputs = with gerbil-support.gerbilPackages-unstable; [gerbil-utils gerbil-crypto];
@@ -14,8 +14,8 @@ gerbil-support.gerbilPackage {
src = fetchFromGitHub {
owner = "fare";
repo = "gerbil-poo";
rev = "1014154fe4943dfbec7524666c831b601ba88559";
sha256 = "0g8l5mi007n07qs79m9h3h3am1p7h0kzq7yb49h562b8frh5gp97";
rev = "44d490d95b9d1b5d54eaedf2602419af8e086837";
sha256 = "082ndpy281saybcnp3bdidcibkk2ih6glrkbb5fdj1524ban4d0k";
};
meta = {
description = "Gerbil POO: Prototype Object Orientation for Gerbil Scheme";
@@ -1,14 +1,16 @@
{ pkgs, gccStdenv, callPackage, fetchFromGitHub }:
{ pkgs, lib, gccStdenv, callPackage, fetchFromGitHub }:
# See ../gambit/build.nix regarding gccStdenv
rec {
# Gerbil libraries
gerbilPackages-unstable = {
gerbil-libp2p = callPackage ./gerbil-libp2p.nix { };
gerbil-utils = callPackage ./gerbil-utils.nix { };
gerbil-crypto = callPackage ./gerbil-crypto.nix { };
gerbil-poo = callPackage ./gerbil-poo.nix { };
gerbil-persist = callPackage ./gerbil-persist.nix { };
gerbil-ethereum = callPackage ./gerbil-ethereum.nix { };
smug-gerbil = callPackage ./smug-gerbil.nix { };
};
# Use this function in any package that uses Gerbil libraries, to define the GERBIL_LOADPATH.
@@ -23,6 +25,7 @@ rec {
gambit-params ? pkgs.gambit-support.stable-params,
gerbilInputs ? [],
buildInputs ? [],
buildScript ? "./build.ss",
softwareName ? ""} :
let buildInputs_ = buildInputs; in
gccStdenv.mkDerivation rec {
@@ -33,8 +36,8 @@ rec {
set -e ;
if [ -n "${version-path}.ss" ] ; then
echo -e '(import :clan/versioning${builtins.concatStringsSep ""
(map (x : if x.passthru.version-path != ""
then " :${x.passthru.gerbil-package}/${x.passthru.version-path}" else "")
(map (x : lib.optionalString (x.passthru.version-path != "")
" :${x.passthru.gerbil-package}/${x.passthru.version-path}")
gerbilInputs)
})\n(register-software "${softwareName}" "v${git-version}")\n' > "${passthru.version-path}.ss"
fi
@@ -50,7 +53,7 @@ rec {
buildPhase = ''
runHook preBuild
./build.ss
${buildScript}
runHook postBuild
'';
@@ -2,8 +2,8 @@
gerbil-support.gerbilPackage {
pname = "gerbil-utils";
version = "unstable-2020-08-02";
git-version = "0.2-21-g7e7d053";
version = "unstable-2020-10-18";
git-version = "0.2-36-g8b481b7";
gerbil-package = "clan";
gerbil = gerbil-unstable;
gambit-params = gambit-support.unstable-params;
@@ -12,8 +12,8 @@ gerbil-support.gerbilPackage {
src = fetchFromGitHub {
owner = "fare";
repo = "gerbil-utils";
rev = "7e7d053ec5e78cc58d38cb03baf554d83b31b0c6";
sha256 = "078vqdcddfavqq0d9pw430iz1562cgx1ck3fw6dpwxjkyc6m4bms";
rev = "8b481b787e13e07e14d0718d670aab016131a090";
sha256 = "0br8k5b2wcv4wcp65r2bfhji3af2qgqjspf41syqslq9awx47f3m";
};
meta = {
description = "Gerbil Clan: Community curated Collection of Common Utilities";
@@ -0,0 +1,30 @@
{ pkgs, lib, fetchFromGitHub, gerbil-unstable, gerbil-support, gambit-support }:
gerbil-support.gerbilPackage {
pname = "smug-gerbil";
version = "unstable-2019-12-24";
git-version = "95d60d4";
gerbil-package = "drewc/smug";
gerbil = gerbil-unstable;
gerbilInputs = [];
buildInputs = [];
gambit-params = gambit-support.unstable-params;
version-path = ""; #"version";
softwareName = "Smug-Gerbil";
src = fetchFromGitHub {
owner = "drewc";
repo = "smug-gerbil";
rev = "95d60d486c1603743c6d3c525e6d5f5761b984e5";
sha256 = "0ys07z78gq60z833si2j7xa1scqvbljlx1zb32vdf32f1b27c04j";
};
meta = {
description = "Super Monadic Über Go-into : Parsers and Gerbil Scheme";
homepage = "https://github.com/drewc/smug-gerbil";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ fare ];
};
buildScript = ''
for i in primitive simple tokens smug ; do gxc -O $i.ss ; done
'';
}
@@ -1,13 +1,13 @@
{ callPackage, fetchFromGitHub, gambit-unstable, gambit-support }:
callPackage ./build.nix rec {
version = "unstable-2020-08-02";
git-version = "0.16-120-g3f248e13";
version = "unstable-2020-11-05";
git-version = "0.16-152-g808929ae";
src = fetchFromGitHub {
owner = "vyzo";
repo = "gerbil";
rev = "3f248e139dfa11be74284fc812253fbecafbaf31";
sha256 = "18v192cypj0nbmfcyflm8qnwp27qwy65m0a19ggs47wwbzhgvgqh";
rev = "808929aeb8823959191f35df53bc0c0150911b4b";
sha256 = "0d9k2gkrs9qvlnk7xa3gjzs3gln3ydds7yd2313pvbw4q2lcz8iw";
};
inherit gambit-support;
gambit = gambit-unstable;
@@ -246,6 +246,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
+5 -4
View File
@@ -107,9 +107,9 @@ stdenv.mkDerivation (rec {
outputs = [ "out" "doc" ];
# https://gitlab.haskell.org/ghc/ghc/-/issues/18549
patches = [
./issue-18549.patch
# https://gitlab.haskell.org/ghc/ghc/-/issues/18549
patches = [
./issue-18549.patch
];
postPatch = "patchShebangs .";
@@ -190,7 +190,7 @@ stdenv.mkDerivation (rec {
strictDeps = true;
# Dont add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
@@ -242,6 +242,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
+1
View File
@@ -256,6 +256,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
+1
View File
@@ -241,6 +241,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
+1
View File
@@ -246,6 +246,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
+1
View File
@@ -250,6 +250,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
+1
View File
@@ -237,6 +237,7 @@ stdenv.mkDerivation (rec {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
@@ -104,4 +104,6 @@ in stdenv.mkDerivation {
meta.platforms = passthru.bootPkgs.ghc.meta.platforms;
meta.maintainers = [lib.maintainers.elvishjerricco];
meta.hydraPlatforms = [];
meta.broken = true; # https://hydra.nixos.org/build/129701778
}
+2 -2
View File
@@ -36,11 +36,11 @@ in
stdenv.mkDerivation rec {
pname = "go";
version = "1.14.10";
version = "1.14.11";
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "0rfnjl582cm5klv8c2qyyvn26807zn89m5mk282gkc7awfkrjxmk";
sha256 = "05hgnyda5bpm29gnx1956syq54jmpk4k9cf976vypw8ckg9g6w8q";
};
# perl is used for testing go vet
+2 -2
View File
@@ -36,11 +36,11 @@ in
stdenv.mkDerivation rec {
pname = "go";
version = "1.15.3";
version = "1.15.4";
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "1228nv4vyzbqv768dl0bimsic47x9yyqld61qbgqqk75f0jn0sl9";
sha256 = "0rr3gp99bmdzg381x5fdwa15brllihn57175l0c82sqqljlscg86";
};
# perl is used for testing go vet
+2 -3
View File
@@ -1,5 +1,4 @@
import ./generic.nix {
version = "1.20.1";
ldcSha256 = "1bqsgab22v02pc3c9gcyf15y7aimadv24d68icaw5lpgnvzxy89b";
version = "1.24.0";
ldcSha256 = "0g5svf55i0kq55q49awmwqj9qi1n907cyrn1vjdjgs8nx6nn35gx";
}
+2 -6
View File
@@ -1,5 +1,5 @@
{ version, ldcSha256 }:
{ stdenv, fetchurl, cmake, ninja, llvm_5, llvm_8, curl, tzdata
{ stdenv, fetchurl, cmake, ninja, llvm_11, curl, tzdata
, libconfig, lit, gdb, unzip, darwin, bash
, callPackage, makeWrapper, runCommand, targetPackages
, ldcBootstrap ? callPackage ./bootstrap.nix { }
@@ -56,16 +56,12 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [
cmake ninja makeWrapper unzip ldcBootstrap lit lit.python
cmake ldcBootstrap lit lit.python llvm_11 makeWrapper ninja unzip
]
++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Foundation
# https://github.com/NixOS/nixpkgs/issues/57120
# https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
llvm_5
]
++ stdenv.lib.optionals (!stdenv.hostPlatform.isDarwin) [
llvm_8
# https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
gdb
];
@@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "mercury";
version = "20.06";
version = "20.06.1";
src = fetchurl {
url = "https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz";
sha256 = "1gkr9w8lsdzqykqwd3f1a1phsqv090648i14ilhv8jdg85frdimr";
sha256 = "ef093ae81424c4f3fe696eff9aefb5fb66899e11bb17ae0326adfb70d09c1c1f";
};
buildInputs = [ gcc flex bison texinfo jdk erlang makeWrapper
+2 -2
View File
@@ -2,8 +2,8 @@
callPackage ./generic.nix ({
inherit Foundation libobjc;
version = "6.0.0.313";
version = "6.12.0.90";
srcArchiveSuffix = "tar.xz";
sha256 = "0l0cd6q5xh1vdm6zr78rkfqdsmrgzanjgpxvgig0pyd3glfyjim9";
sha256 = "1b6d0926rd0nkmsppwjgmwsxx1479jjvr1gm7zwk64siml15rpji";
enableParallelBuilding = true;
})
+2 -2
View File
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which
{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python3, version, sha256, autoconf, libtool, automake, cmake, which
, gnumake42
, enableParallelBuilding ? true
, srcArchiveSuffix ? "tar.bz2"
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gnumake42 ];
buildInputs =
[ bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib python autoconf libtool automake cmake which
[ bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib python3 autoconf libtool automake cmake which
]
++ (stdenv.lib.optionals stdenv.isDarwin [ Foundation libobjc ]);
@@ -31,6 +31,10 @@ let
gtk3 gnome_vfs GConf glib
];
passthru = {
inherit gtk3;
};
patches = [
./fix-java-home-jdk10.patch
./read-truststore-from-env-jdk10.patch
@@ -0,0 +1,19 @@
{ jdk
, runCommand
, patchelf
, lib
, modules ? [ "java.base" ]
}:
let
jre = runCommand "${jdk.name}-jre" {
nativeBuildInputs = [ patchelf ];
buildInputs = [ jdk ];
passthru = {
home = "${jre}";
};
} ''
jlink --module-path ${jdk}/lib/openjdk/jmods --add-modules ${lib.concatStringsSep "," modules} --output $out
patchelf --shrink-rpath $out/bin/* $out/lib/jexec $out/lib/jspawnhelper $out/lib/*.so $out/lib/*/*.so
'';
in jre
+1 -1
View File
@@ -107,7 +107,7 @@ stdenv.mkDerivation (rec {
description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language";
homepage = "https://www.ponylang.org";
license = licenses.bsd2;
maintainers = with maintainers; [ doublec kamilchm patternspandemic redvers ];
maintainers = with maintainers; [ kamilchm patternspandemic redvers ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
})
@@ -18,4 +18,8 @@ rec {
rustcSrc = callPackage ./rust-src.nix {
inherit rustc;
};
rustLibSrc = callPackage ./rust-lib-src.nix {
inherit rustc;
};
}
@@ -0,0 +1,11 @@
{ stdenv, rustc }:
stdenv.mkDerivation {
name = "rust-lib-src";
src = rustc.src;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mv library $out
'';
}
-43
View File
@@ -1,43 +0,0 @@
{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
stdenv.mkDerivation rec {
name = "scala-2.10.7";
src = fetchurl {
url = "https://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "04gi55lzgrhsb78qw8jmnccqim92rw6898knw0a7gfzn2sci30wj";
};
propagatedBuildInputs = [ jre ] ;
buildInputs = [ makeWrapper ] ;
installPhase = ''
mkdir -p $out
rm bin/*.bat
mv * $out
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \
--prefix PATH ":" ${gnugrep}/bin \
--prefix PATH ":" ${jre}/bin \
--set JAVA_HOME ${jre}
done
'';
meta = {
description = "A general purpose programming language";
longDescription = ''
Scala is a general purpose programming language designed to express
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
homepage = "https://www.scala-lang.org/";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
branch = "2.10";
};
}
-48
View File
@@ -1,48 +0,0 @@
{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
stdenv.mkDerivation rec {
name = "scala-2.11.12";
src = fetchurl {
url = "https://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "1a4nc4qp9dm4rps47j92hlmxxqskv67qbdmjqc5zd94wd4rps7di";
};
propagatedBuildInputs = [ jre ] ;
buildInputs = [ makeWrapper ] ;
installPhase = ''
mkdir -p $out
rm "bin/"*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/${name}
mv $out/man $out/share/man
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \
--prefix PATH ":" ${gnugrep}/bin \
--prefix PATH ":" ${jre}/bin \
--set JAVA_HOME ${jre}
done
'';
meta = {
description = "General purpose programming language";
longDescription = ''
Scala is a general purpose programming language designed to express
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
homepage = "https://www.scala-lang.org/";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
branch = "2.11";
};
}
-47
View File
@@ -1,47 +0,0 @@
{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
stdenv.mkDerivation rec {
name = "scala-2.12.12";
src = fetchurl {
url = "https://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "0avyaa7y8w7494339krcpqhc2p8y5pjk4pz7mqmzdzwy7hgws81m";
};
propagatedBuildInputs = [ jre ] ;
buildInputs = [ makeWrapper ] ;
installPhase = ''
mkdir -p $out
rm "bin/"*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/scala
mv $out/{LICENSE,NOTICE} $out/share/doc/scala
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \
--prefix PATH ":" ${gnugrep}/bin \
--prefix PATH ":" ${jre}/bin \
--set JAVA_HOME ${jre}
done
'';
meta = {
description = "General purpose programming language";
longDescription = ''
Scala is a general purpose programming language designed to express
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
homepage = "https://www.scala-lang.org/";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
};
}
-47
View File
@@ -1,47 +0,0 @@
{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
stdenv.mkDerivation rec {
name = "scala-2.13.3";
src = fetchurl {
url = "https://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "0zv9w9f6g2cfydsvp8mqcfgv2v3487xp4ca1qndg6v7jrhdp7wy9";
};
propagatedBuildInputs = [ jre ] ;
buildInputs = [ makeWrapper ] ;
installPhase = ''
mkdir -p $out
rm "bin/"*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/scala
mv $out/{LICENSE,NOTICE} $out/share/doc/scala
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \
--prefix PATH ":" ${gnugrep}/bin \
--prefix PATH ":" ${jre}/bin \
--set JAVA_HOME ${jre}
done
'';
meta = {
description = "General purpose programming language";
longDescription = ''
Scala is a general purpose programming language designed to express
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
homepage = "https://www.scala-lang.org/";
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
};
}
+117
View File
@@ -0,0 +1,117 @@
{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, nixosTests
, writeScript, common-updater-scripts, git, gnused, nix, nixfmt }:
with lib;
let
repo = "git@github.com:scala/scala.git";
common = { version, sha256, test, pname }:
stdenv.mkDerivation rec {
inherit version;
name = "scala-${version}";
src = fetchurl {
inherit sha256;
url = "https://www.scala-lang.org/files/archive/scala-${version}.tgz";
};
propagatedBuildInputs = [ jre ];
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out
rm bin/*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/${name}
mv $out/man $out/share/man
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \
--prefix PATH ":" ${gnugrep}/bin \
--prefix PATH ":" ${jre}/bin \
--set JAVA_HOME ${jre}
done
'';
passthru = {
tests = [ test ];
updateScript = writeScript "update.sh" ''
#!${stdenv.shell}
set -o errexit
PATH=${
stdenv.lib.makeBinPath [
common-updater-scripts
coreutils
git
gnused
nix
nixfmt
]
}
versionSelect='v${versions.major version}.${versions.minor version}.*'
oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags ${repo} "$versionSelect" | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')"
if [ "$oldVersion" != "$latestTag" ]; then
nixpkgs="$(git rev-parse --show-toplevel)"
default_nix="$nixpkgs/pkgs/development/compilers/scala/2.x.nix"
update-source-version ${pname} "$latestTag" --version-key=version --print-changes
nixfmt "$default_nix"
else
echo "${pname} is already up-to-date"
fi
'';
};
meta = {
description = "A general purpose programming language";
longDescription = ''
Scala is a general purpose programming language designed to express
common programming patterns in a concise, elegant, and type-safe way.
It smoothly integrates features of object-oriented and functional
languages, enabling Java and other programmers to be more productive.
Code sizes are typically reduced by a factor of two to three when
compared to an equivalent Java application.
'';
homepage = "https://www.scala-lang.org/";
license = licenses.bsd3;
platforms = platforms.all;
branch = versions.majorMinor version;
maintainers = [ maintainers.nequissimus ];
};
};
in {
scala_2_10 = common {
version = "2.10.7";
sha256 = "koMRmRb2u3cU4HaihAzPItWIGbNVIo7RWRrm92kp8RE=";
test = { inherit (nixosTests) scala_2_10; };
pname = "scala_2_10";
};
scala_2_11 = common {
version = "2.11.12";
sha256 = "sR19M2mcpPYLw7K2hY/ZU+PeK4UiyUP0zaS2dDFhlqg=";
test = { inherit (nixosTests) scala_2_11; };
pname = "scala_2_11";
};
scala_2_12 = common {
version = "2.12.12";
sha256 = "NSDNHzye//YrrudfMuUtHl3BIL4szzQGSeRw5I9Sfis=";
test = { inherit (nixosTests) scala_2_12; };
pname = "scala_2_12";
};
scala_2_13 = common {
version = "2.13.3";
sha256 = "yfNzG8zybPOaxUExcvtBZGyxn2O4ort1846JZ1ziaX8=";
test = { inherit (nixosTests) scala_2_13; };
pname = "scala_2_13";
};
}
+12 -7
View File
@@ -1,32 +1,37 @@
{ stdenv, fetchzip, boost, cmake, ncurses, python3, coreutils
{ 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
let stdenv = gccStdenv; in
assert z3Support -> z3 != null && stdenv.lib.versionAtLeast z3.version "4.6.0";
assert cvc4Support -> cvc4 != null && cln != null && gmp != null;
let
jsoncppURL = "https://github.com/open-source-parsers/jsoncpp/archive/1.9.2.tar.gz";
jsoncppVersion = "1.9.4";
jsoncppUrl = "https://github.com/open-source-parsers/jsoncpp/archive/${jsoncppVersion}.tar.gz";
jsoncpp = fetchzip {
url = jsoncppURL;
sha256 = "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg";
url = jsoncppUrl;
sha256 = "0qnx5y6c90fphl9mj9d20j2dfgy6s5yr5l0xnzid0vh71zrp6jwv";
};
in
stdenv.mkDerivation rec {
pname = "solc";
version = "0.6.8";
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 = "1nxds6c10hjqjjk893qw2yljws57li0xigbf3ih85y8y6d587ph0";
sha256 = "02261l54jdbvxk612z7zsyvmchy1rx4lf27b3f616sd7r56krpkg";
};
postPatch = ''
substituteInPlace cmake/jsoncpp.cmake \
--replace "${jsoncppURL}" ${jsoncpp}
--replace "${jsoncppUrl}" ${jsoncpp}
'';
cmakeFlags = [
@@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub, gcc, gmp, openssl, zlib }:
stdenv.mkDerivation rec {
pname = "spasm-ng";
version = "unstable-2020-08-03";
src = fetchFromGitHub {
owner = "alberthdev";
repo = "spasm-ng";
rev = "221898beff2442f459b80ab89c8e1035db97868e";
sha256 = "0xspxmp2fir604b4xsk4hi1gjv61rnq2ypppr7cj981jlhicmvjj";
};
nativeBuildInputs = [ gcc ];
buildInputs = [ gmp openssl zlib ];
enableParallelBuilding = true;
installPhase = ''
install -Dm755 spasm -t $out/bin
'';
meta = with stdenv.lib; {
homepage = "https://github.com/alberthdev/spasm-ng";
description = "Z80 assembler with extra features to support development for TI calculators";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ siraben ];
platforms = platforms.unix;
};
}