Merge remote-tracking branch 'upstream/master' into haskell-no-rec
This commit is contained in:
@@ -1,45 +0,0 @@
|
||||
diff --git a/default.build b/default.build
|
||||
index e48fd9e..b0dee4f 100644
|
||||
--- a/default.build
|
||||
+++ b/default.build
|
||||
@@ -23,14 +23,14 @@
|
||||
<property name="skip.ast" value="False" />
|
||||
<property name="skip.vs" value="False" />
|
||||
|
||||
- <property name="gsv.name" value="gtksourceview-1.0" />
|
||||
+ <property name="gsv.name" value="gtksourceview-2.0" />
|
||||
|
||||
<property name="build.dir" value="build" dynamic="True"/>
|
||||
<property name="distrobuild.dir" value="distrobuild"/>
|
||||
<property name="docs.dir" value="docs" />
|
||||
<property name="examples.dir" value="examples" />
|
||||
|
||||
- <property name="install.prefix" value="/usr/local" />
|
||||
+ <property name="install.prefix" value="$out" />
|
||||
<property name="install.destdir" value="/" />
|
||||
|
||||
<property name="install.share" value="${path::combine(install.prefix,'share')}" />
|
||||
@@ -575,9 +575,9 @@
|
||||
key files for mime detection, etc
|
||||
-->
|
||||
|
||||
- <property name="sharedmime.prefix" value="${pkg-config::get-variable('shared-mime-info','prefix')}" />
|
||||
+ <property name="sharedmime.prefix" value="$out" />
|
||||
<property name="fakeroot.sharedmime" value="${fakeroot}/${sharedmime.prefix}" />
|
||||
- <property name="gsv.prefix" value="${pkg-config::get-variable(gsv.name,'prefix')}" />
|
||||
+ <property name="gsv.prefix" value="$out" />
|
||||
<property name="fakeroot.gsv" value="${fakeroot}/${gsv.prefix}" />
|
||||
|
||||
<mkdir dir="${fakeroot.boolib}"/>
|
||||
@@ -707,9 +707,9 @@
|
||||
key files for mime detection, etc
|
||||
-->
|
||||
|
||||
- <property name="sharedmime.prefix" value="${pkg-config::get-variable('shared-mime-info','prefix')}" />
|
||||
+ <property name="sharedmime.prefix" value="$out" />
|
||||
<property name="fakeroot.sharedmime" value="${fakeroot}/${sharedmime.prefix}" />
|
||||
- <property name="gsv.prefix" value="${pkg-config::get-variable(gsv.name,'prefix')}" />
|
||||
+ <property name="gsv.prefix" value="$out" />
|
||||
<property name="fakeroot.gsv" value="${fakeroot}/${gsv.prefix}" />
|
||||
|
||||
<foreach item="File" property="filename">
|
||||
@@ -1,46 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, mono, makeWrapper, nant
|
||||
, shared-mime-info, gtksourceview, gtk2 }:
|
||||
|
||||
let
|
||||
release = "alpha";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "boo-${version}";
|
||||
version = "2013-10-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "boo-lang";
|
||||
repo = "boo";
|
||||
|
||||
rev = "${release}";
|
||||
sha256 = "174abdwfpq8i3ijx6bwqll16lx7xwici374rgsbymyk8g8mla094";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
mono makeWrapper nant shared-mime-info gtksourceview
|
||||
gtk2
|
||||
];
|
||||
|
||||
patches = [ ./config.patch ];
|
||||
|
||||
postPatch = ''
|
||||
sed -e 's|\$out|'$out'|' -i default.build
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
nant -t:mono-4.5
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
nant install
|
||||
cp $out/lib/mono/boo/*.dll $out/lib/boo/
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The Boo Programming Language";
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
@@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
homepage = "https://github.com/drmeister/clasp";
|
||||
broken = true; # 2018-09-08, no successful build since 2018-01-03
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchurl, fetchpatch
|
||||
, coq, ocamlPackages
|
||||
, coq, ocamlPackages, coq2html
|
||||
, tools ? stdenv.cc
|
||||
}:
|
||||
|
||||
@@ -7,23 +7,18 @@ assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "compcert-${version}";
|
||||
version = "3.3";
|
||||
version = "3.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://compcert.inria.fr/release/${name}.tgz";
|
||||
sha256 = "16xrqcwak1v1fk5ndx6jf1yvxv3adsr7p7z34gfm2mpggxnq0xwn";
|
||||
sha256 = "12gchwvkzhd2bhrnwzfb4a06wc4hgv98z987k06vj7ga31ii763h";
|
||||
};
|
||||
|
||||
buildInputs = [ coq ]
|
||||
buildInputs = [ coq coq2html ]
|
||||
++ (with ocamlPackages; [ ocaml findlib menhir ]);
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [ (fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/679ecfeaa24c0615fa1999e9582bf2af6a9f35e7.patch";
|
||||
sha256 = "04yrn6dp57aw6lmlr4yssjlx9cxix0mlmaw7gfhwyz5bzqc2za1a";
|
||||
})];
|
||||
|
||||
configurePhase = ''
|
||||
substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
|
||||
./configure -clightgen -prefix $out -toolprefix ${tools}/bin/ '' +
|
||||
|
||||
@@ -92,7 +92,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://dotnet.github.io/core/;
|
||||
homepage = https://github.com/dotnet/core/;
|
||||
description = ".NET is a general purpose development platform";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ kuznero ];
|
||||
|
||||
@@ -12,15 +12,20 @@ let
|
||||
rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.1.302";
|
||||
version = "2.1.401";
|
||||
name = "dotnet-sdk-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/dotnet-sdk-${version}-linux-x64.tar.gz";
|
||||
sha256 = "1a8z9q69cd9a33j7fr7907abm5z4qiivw5k379cgsjmmvxwyvjia";
|
||||
# use sha512 from the download page
|
||||
sha512 = "639f9f68f225246d9cce798d72d011f65c7eda0d775914d1394df050bddf93e2886555f5eed85a75d6c72e9063a54d8aa053c64c326c683b94e9e0a0570e5654";
|
||||
};
|
||||
|
||||
unpackPhase = "tar xvzf $src";
|
||||
unpackPhase = ''
|
||||
mkdir src
|
||||
cd src
|
||||
tar xvzf $src
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ lib, stdenv, buildEnv, haskell, nodejs, fetchurl, makeWrapper, git }:
|
||||
{ lib, stdenv, buildEnv
|
||||
, haskell, nodejs
|
||||
, fetchurl, fetchpatch, makeWrapper, git }:
|
||||
|
||||
# To update:
|
||||
|
||||
@@ -90,6 +92,12 @@ let
|
||||
export ELM_HOME=`pwd`/.elm
|
||||
'' + (makeDotElm "0.19.0" (import ./packages/elm-elm.nix));
|
||||
buildTools = drv.buildTools or [] ++ [ makeWrapper ];
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elm/compiler/pull/1784/commits/78d2d8eab310552b1b877a3e90e1e57e7a09ddec.patch";
|
||||
sha256 = "0vdhk16xqm2hxw12s1b91a0bmi8w4wsxc086qlzglgnjxrl5b3w4";
|
||||
})
|
||||
];
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/elm \
|
||||
--prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
|
||||
|
||||
@@ -11,8 +11,8 @@ mkDerivation {
|
||||
version = "0.19.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/elm/compiler";
|
||||
sha256 = "0s93z9vr0vp5w894ghc5s34nsq09sg1msf59zfiba87sid5vgjqy";
|
||||
rev = "32059a289d27e303fa1665e9ada0a52eb688f302";
|
||||
sha256 = "13jks6c6i80z71mjjfg46ri570g5ini0k3xw3857v6z66zcl56x4";
|
||||
rev = "d5cbc41aac23da463236bbc250933d037da4055a";
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, callPackage, fetchurl }:
|
||||
|
||||
callPackage ./build.nix {
|
||||
version = "4.8.9";
|
||||
version = "4.9.0";
|
||||
|
||||
SRC = fetchurl {
|
||||
url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.8/source/gambit-v4_8_9-devel.tgz";
|
||||
sha256 = "1gwzz1ag9hlv266nvfq1bhwzrps3f2yghhffasjjqy8i8xwnry5p";
|
||||
url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_0-devel.tgz";
|
||||
sha256 = "0wyfpjs244zrbrdil9rfkdgcawvms84z0r77qwhwadghma4dqgjf";
|
||||
};
|
||||
inherit stdenv;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ stdenv, callPackage, fetchgit }:
|
||||
|
||||
callPackage ./build.nix {
|
||||
version = "unstable-2018-08-06";
|
||||
# git-version = "4.8.9-77-g91a4ad2c";
|
||||
version = "unstable-2018-09-03";
|
||||
# git-version = "4.9.0";
|
||||
SRC = fetchgit {
|
||||
url = "https://github.com/feeley/gambit.git";
|
||||
rev = "91a4ad2c28375f067adedcaa61f9d66a4b536f4f";
|
||||
sha256 = "0px1ipvhh0hz8n38h6jv4y1nn163j8llvcy4l7p3hkdns5czwy1p";
|
||||
rev = "7cdc7e7b9194b2c088c0667efaf7686a4ffd0d8a";
|
||||
sha256 = "06mmi8jkinihfirz4gjfw2lhxhskiqf3d47sihzx10r60asyqcxg";
|
||||
};
|
||||
inherit stdenv;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ stdenv, callPackage, fetchurl, gambit }:
|
||||
|
||||
callPackage ./build.nix {
|
||||
version = "0.12-RELEASE";
|
||||
git-version = "0.12";
|
||||
version = "0.13";
|
||||
git-version = "0.13";
|
||||
GAMBIT = gambit;
|
||||
SRC = fetchurl {
|
||||
url = "https://github.com/vyzo/gerbil/archive/v0.12.tar.gz";
|
||||
sha256 = "0nigr3mgrzai57q2jqac8f39zj8rcmic3277ynyzlgm8hhps71pq";
|
||||
url = "https://github.com/vyzo/gerbil/archive/v0.13.tar.gz";
|
||||
sha256 = "1qs0vdq2lgxlpw20s8jzw2adx1xk9wb3w2m4a8vp6bb8hagmfr5l";
|
||||
};
|
||||
inherit stdenv;
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ stdenv, callPackage, fetchgit, gambit-unstable }:
|
||||
|
||||
callPackage ./build.nix {
|
||||
version = "unstable-2018-08-11";
|
||||
git-version = "0.13-DEV-542-g274e1a22";
|
||||
version = "unstable-2018-09-06";
|
||||
git-version = "0.14-DEV";
|
||||
GAMBIT = gambit-unstable;
|
||||
SRC = fetchgit {
|
||||
url = "https://github.com/vyzo/gerbil.git";
|
||||
rev = "274e1a22b2d2b708d5582594274ab52ee9ba1686";
|
||||
sha256 = "10j44ar4xfl8xmh276zg1ykd3r0vy7w2f2cg4p8slwnk9r251g2s";
|
||||
rev = "184cb635c82517d5d75d7966dcdf1d25ad863dac";
|
||||
sha256 = "1ljzbpc36i9zpzfwra5hpfbgzj1dyzzp50h5jf976n8qr9x4l7an";
|
||||
};
|
||||
inherit stdenv;
|
||||
}
|
||||
|
||||
@@ -99,6 +99,10 @@ stdenv.mkDerivation (rec {
|
||||
sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
|
||||
extraPrefix = "utils/hsc2hs/";
|
||||
stripLen = 1;
|
||||
}) (fetchpatch rec { # https://phabricator.haskell.org/D5123
|
||||
url = "http://tarballs.nixos.org/sha256/${sha256}";
|
||||
name = "D5123.diff";
|
||||
sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n";
|
||||
})] ++ stdenv.lib.optional deterministicProfiling
|
||||
(fetchpatch rec {
|
||||
url = "http://tarballs.nixos.org/sha256/${sha256}";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
, autoconf, automake, coreutils, fetchurl, perl, python3, m4
|
||||
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
@@ -78,18 +78,24 @@ let
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "8.6.0.20180810";
|
||||
version = "8.6.1";
|
||||
name = "${targetPrefix}ghc-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/~ghc/8.6.1-beta1/ghc-${version}-src.tar.xz";
|
||||
sha256 = "0b3nyjs4lsh67lfw7wh7r7kkf4g2xiypdxd77aycmwd3pdxj09yw";
|
||||
url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
|
||||
sha256 = "0dkh7idgrqr567fq94a0f5x3w0r4cm2ydn51nb5wfisw3rnw499c";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
patches = [(fetchpatch rec { # https://phabricator.haskell.org/D5123
|
||||
url = "http://tarballs.nixos.org/sha256/${sha256}";
|
||||
name = "D5123.diff";
|
||||
sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n";
|
||||
})];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
|
||||
@@ -34,6 +34,8 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = stdenv.lib.optional (!emacsSupport) "--without-emacs";
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
installFlags = stdenv.lib.optional emacsSupport "lispdir=$(out)/share/emacs/site-lisp";
|
||||
|
||||
# For some reason the tests fail if executated with nix-build, but pass if
|
||||
|
||||
@@ -125,6 +125,8 @@ stdenv.mkDerivation rec {
|
||||
./remove-fhs-test-references.patch
|
||||
./skip-external-network-tests.patch
|
||||
./skip-nohup-tests.patch
|
||||
# breaks under load: https://github.com/golang/go/issues/25628
|
||||
./skip-test-extra-files-on-386.patch
|
||||
];
|
||||
|
||||
postPatch = optionalString stdenv.isDarwin ''
|
||||
@@ -139,7 +141,7 @@ stdenv.mkDerivation rec {
|
||||
else if stdenv.targetPlatform.isAarch32 then "arm"
|
||||
else if stdenv.targetPlatform.isAarch64 then "arm64"
|
||||
else throw "Unsupported system";
|
||||
GOARM = stdenv.targetPlatform.parsed.cpu.version or "";
|
||||
GOARM = toString (stdenv.lib.intersectLists [(stdenv.targetPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
|
||||
GO386 = 387; # from Arch: don't assume sse2 on i686
|
||||
CGO_ENABLED = 1;
|
||||
GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go
|
||||
index 558345ff63..22129bf022 100644
|
||||
--- a/src/os/exec/exec_test.go
|
||||
+++ b/src/os/exec/exec_test.go
|
||||
@@ -593,6 +593,10 @@ func TestExtraFiles(t *testing.T) {
|
||||
t.Skipf("skipping test on %q", runtime.GOOS)
|
||||
}
|
||||
|
||||
+ if runtime.GOOS == "linux" && runtime.GOARCH == "386" {
|
||||
+ t.Skipf("skipping test on %q %q", runtime.GOARCH, runtime.GOOS)
|
||||
+ }
|
||||
+
|
||||
// Ensure that file descriptors have not already been leaked into
|
||||
// our environment.
|
||||
if !testedAlreadyLeaked {
|
||||
@@ -211,7 +211,7 @@ stdenv.mkDerivation rec {
|
||||
description = "High-level performance-oriented dynamical language for technical computing";
|
||||
homepage = https://julialang.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin rob ];
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin rob garrison ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
broken = stdenv.isi686;
|
||||
};
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchurl, makeWrapper, jre, unzip }:
|
||||
|
||||
let
|
||||
version = "1.2.61";
|
||||
version = "1.2.70";
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit version;
|
||||
name = "kotlin-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
|
||||
sha256 = "1gsvilsbgwdvyvxjnlvs0rhrgm6x9dapziwgwgg9kbi9a0w4avdy";
|
||||
sha256 = "0d44rzngpfhgh1qc99b97dczdyrmypbwzrmr00qmcy2ya2il0fm2";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
|
||||
@@ -6,7 +6,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${version}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${version}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ let
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${release_version}/${name}-${version}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ let
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python
|
||||
, fixDarwinDylibNames
|
||||
, enableManpages ? false
|
||||
}:
|
||||
|
||||
let
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
self = stdenv.mkDerivation ({
|
||||
name = "clang-${version}";
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${fetch "cfe" "0mdsbgj3p7mayhzm8hclzl3i46r2lwa8fr1cz399f9km3iqi40jm"}
|
||||
mv cfe-${version}* clang
|
||||
sourceRoot=$PWD/clang
|
||||
unpackFile ${clang-tools-extra_src}
|
||||
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libxml2 llvm ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
] ++ stdenv.lib.optionals enableManpages [
|
||||
"-DCLANG_INCLUDE_DOCS=ON"
|
||||
"-DLLVM_ENABLE_SPHINX=ON"
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
];
|
||||
|
||||
patches = [ ./purity.patch ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||
-e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||
lib/Driver/ToolChains/*.cpp
|
||||
|
||||
# Patch for standalone doc building
|
||||
sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
|
||||
'';
|
||||
|
||||
outputs = [ "out" "lib" "python" ];
|
||||
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
postInstall = ''
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
# Move libclang to 'lib' output
|
||||
moveToOutput "lib/libclang.*" "$lib"
|
||||
substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
|
||||
|
||||
mkdir -p $python/bin $python/share/clang/
|
||||
mv $out/bin/{git-clang-format,scan-view} $python/bin
|
||||
if [ -e $out/bin/set-xcode-analyzer ]; then
|
||||
mv $out/bin/set-xcode-analyzer $python/bin
|
||||
fi
|
||||
mv $out/share/clang/*.py $python/share/clang
|
||||
rm $out/bin/c-index-test
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
isClang = true;
|
||||
inherit llvm;
|
||||
} // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux {
|
||||
inherit gcc;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
|
||||
homepage = http://llvm.org/;
|
||||
license = stdenv.lib.licenses.ncsa;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
} // stdenv.lib.optionalAttrs enableManpages {
|
||||
name = "clang-manpages-${version}";
|
||||
|
||||
buildPhase = ''
|
||||
make docs-clang-man
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/man/man1
|
||||
# Manually install clang manpage
|
||||
cp docs/man/*.1 $out/share/man/man1/
|
||||
'';
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta.description = "man page for Clang ${version}";
|
||||
});
|
||||
in self
|
||||
@@ -0,0 +1,30 @@
|
||||
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Thu, 18 May 2017 11:56:12 -0500
|
||||
Subject: [PATCH] "purity" patch for 5.0
|
||||
|
||||
---
|
||||
lib/Driver/ToolChains/Gnu.cpp | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||
index fe3c0191bb..c6a482bece 100644
|
||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
if (!Args.hasArg(options::OPT_static)) {
|
||||
if (Args.hasArg(options::OPT_rdynamic))
|
||||
CmdArgs.push_back("-export-dynamic");
|
||||
-
|
||||
- if (!Args.hasArg(options::OPT_shared)) {
|
||||
- const std::string Loader =
|
||||
- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
|
||||
- CmdArgs.push_back("-dynamic-linker");
|
||||
- CmdArgs.push_back(Args.MakeArgString(Loader));
|
||||
- }
|
||||
}
|
||||
|
||||
CmdArgs.push_back("-o");
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
||||
needs it
|
||||
|
||||
---
|
||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
||||
3 files changed, 107 deletions(-)
|
||||
|
||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
||||
index bc5fb9ff7..b64eb4246 100644
|
||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
||||
endif()
|
||||
- if(APPLE)
|
||||
- # Ad-hoc sign the dylibs
|
||||
- add_custom_command(TARGET ${libname}
|
||||
- POST_BUILD
|
||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
||||
- )
|
||||
- endif()
|
||||
endif()
|
||||
install(TARGETS ${libname}
|
||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
||||
2.14.1
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "compiler-rt-${version}";
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1mkhqvs8cxbfmprkzwyq7lmnzr1sv45znzf0arbgb19crzipzv5x";
|
||||
|
||||
nativeBuildInputs = [ cmake python llvm ];
|
||||
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
configureFlags = [
|
||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
patches = [
|
||||
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||
] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch;
|
||||
|
||||
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
||||
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
||||
# can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
|
||||
# get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
|
||||
# a flag and turn the flag off during the stdenv build.
|
||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace cmake/config-ix.cmake \
|
||||
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
||||
'';
|
||||
|
||||
# Hack around weird upsream RPATH bug
|
||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
ln -s "$out/lib"/*/* "$out/lib"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
||||
, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith
|
||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||
}:
|
||||
|
||||
let
|
||||
release_version = "7.0.0";
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
clang-tools-extra_src = fetch "clang-tools-extra" "1glxl7bnr4k3j16s8xy8r9cl0llyg524f50591g1ig23ij65lz4k";
|
||||
|
||||
tools = stdenv.lib.makeExtensible (tools: let
|
||||
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
|
||||
mkExtraBuildCommands = cc: ''
|
||||
rsrc="$out/resource-root"
|
||||
mkdir "$rsrc"
|
||||
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
|
||||
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
|
||||
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
|
||||
'' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux ''
|
||||
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
|
||||
'';
|
||||
in {
|
||||
|
||||
llvm = callPackage ./llvm.nix { };
|
||||
|
||||
clang-unwrapped = callPackage ./clang {
|
||||
inherit clang-tools-extra_src;
|
||||
};
|
||||
|
||||
llvm-manpages = lowPrio (tools.llvm.override {
|
||||
enableManpages = true;
|
||||
python = pkgs.python; # don't use python-boot
|
||||
});
|
||||
|
||||
clang-manpages = lowPrio (tools.clang-unwrapped.override {
|
||||
enableManpages = true;
|
||||
python = pkgs.python; # don't use python-boot
|
||||
});
|
||||
|
||||
libclang = tools.clang-unwrapped.lib;
|
||||
|
||||
clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
|
||||
|
||||
libstdcxxClang = wrapCCWith rec {
|
||||
cc = tools.clang-unwrapped;
|
||||
extraPackages = [
|
||||
libstdcxxHook
|
||||
targetLlvmLibraries.compiler-rt
|
||||
];
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
libcxxClang = wrapCCWith rec {
|
||||
cc = tools.clang-unwrapped;
|
||||
extraPackages = [
|
||||
targetLlvmLibraries.libcxx
|
||||
targetLlvmLibraries.libcxxabi
|
||||
targetLlvmLibraries.compiler-rt
|
||||
];
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld.nix {};
|
||||
|
||||
lldb = callPackage ./lldb.nix {};
|
||||
});
|
||||
|
||||
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
|
||||
in {
|
||||
|
||||
compiler-rt = callPackage ./compiler-rt.nix {};
|
||||
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clang;
|
||||
|
||||
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
|
||||
|
||||
libcxx = callPackage ./libc++ {};
|
||||
|
||||
libcxxabi = callPackage ./libc++abi.nix {};
|
||||
|
||||
openmp = callPackage ./openmp.nix {};
|
||||
});
|
||||
|
||||
in { inherit tools libraries; } // libraries // tools
|
||||
@@ -0,0 +1,50 @@
|
||||
{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libc++-${version}";
|
||||
|
||||
src = fetch "libcxx" "1w1l472p03csgz76p70pn9yk7h0nw5hj1av44ysnakigp8jjcd4v";
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${libcxxabi.src}
|
||||
export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
|
||||
'';
|
||||
|
||||
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
# Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
|
||||
cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patchShebangs utils/cat_files.py
|
||||
'';
|
||||
nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python;
|
||||
|
||||
buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
||||
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
||||
"-DLIBCXX_CXX_ABI=libcxxabi"
|
||||
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
linkCxxAbi = stdenv.isLinux;
|
||||
|
||||
setupHooks = [
|
||||
../../../../../build-support/setup-hooks/role.bash
|
||||
./setup-hook.sh
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = http://libcxx.llvm.org/;
|
||||
description = "A new implementation of the C++ standard library, targeting C++11";
|
||||
license = with stdenv.lib.licenses; [ ncsa mit ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
# See pkgs/build-support/setup-hooks/role.bash
|
||||
getHostRole
|
||||
|
||||
linkCxxAbi="@linkCxxAbi@"
|
||||
export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
|
||||
export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
|
||||
@@ -0,0 +1,49 @@
|
||||
{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "libc++abi-${version}";
|
||||
|
||||
src = fetch "libcxxabi" "0pr4xfx61r5mwmvhg4j9pb6df6vvha1gyf6rwkm14x9rzxcwficv";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${libcxx.src}
|
||||
unpackFile ${llvm.src}
|
||||
export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
|
||||
'';
|
||||
|
||||
installPhase = if stdenv.isDarwin
|
||||
then ''
|
||||
for file in lib/*.dylib; do
|
||||
# this should be done in CMake, but having trouble figuring out
|
||||
# the magic combination of necessary CMake variables
|
||||
# if you fancy a try, take a look at
|
||||
# http://www.cmake.org/Wiki/CMake_RPATH_handling
|
||||
install_name_tool -id $out/$file $file
|
||||
done
|
||||
make install
|
||||
install -d 755 $out/include
|
||||
install -m 644 ../include/*.h $out/include
|
||||
''
|
||||
else ''
|
||||
install -d -m 755 $out/include $out/lib
|
||||
install -m 644 lib/libc++abi.so.1.0 $out/lib
|
||||
install -m 644 ../include/cxxabi.h $out/include
|
||||
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
|
||||
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://libcxxabi.llvm.org/;
|
||||
description = "A new implementation of low level support for a standard C++ library";
|
||||
license = with stdenv.lib.licenses; [ ncsa mit ];
|
||||
maintainers = with stdenv.lib.maintainers; [ vlstill ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, libxml2
|
||||
, llvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lld-${version}";
|
||||
|
||||
src = fetch "lld" "173z50vx5mlsaiqmbz7asxy2297z4xivrfxrdfncvx23wp2lgkzv";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ llvm libxml2 ];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput include "$dev"
|
||||
moveToOutput lib "$dev"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The LLVM Linker";
|
||||
homepage = http://lld.llvm.org/;
|
||||
license = stdenv.lib.licenses.ncsa;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, zlib
|
||||
, ncurses
|
||||
, swig
|
||||
, which
|
||||
, libedit
|
||||
, libxml2
|
||||
, llvm
|
||||
, clang-unwrapped
|
||||
, python
|
||||
, version
|
||||
, darwin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lldb-${version}";
|
||||
|
||||
src = fetch "lldb" "0cmah36ybyfws0z2ikq9fqn5k4kvjci7vgk97ddx4xwrwkzdixkz";
|
||||
|
||||
postPatch = ''
|
||||
# Fix up various paths that assume llvm and clang are installed in the same place
|
||||
sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
|
||||
cmake/modules/LLDBStandalone.cmake
|
||||
sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
|
||||
cmake/modules/LLDBStandalone.cmake
|
||||
sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
|
||||
cmake/modules/LLDBStandalone.cmake
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake python which swig ];
|
||||
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
|
||||
|
||||
CXXFLAGS = "-fno-rtti";
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/man/man1
|
||||
cp ../docs/lldb.1 $out/share/man/man1/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A next-generation high-performance debugger";
|
||||
homepage = http://llvm.org/;
|
||||
license = licenses.ncsa;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||
index 94d426b..37f7794 100644
|
||||
--- a/tools/llvm-config/llvm-config.cpp
|
||||
+++ b/tools/llvm-config/llvm-config.cpp
|
||||
@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
|
||||
+ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
|
||||
+ if (!IsInDevelopmentTree) {
|
||||
+ bool WantShared = true;
|
||||
+ for (int i = 1; i < argc; ++i) {
|
||||
+ StringRef Arg = argv[i];
|
||||
+ if (Arg == "--link-shared")
|
||||
+ WantShared = true;
|
||||
+ else if (Arg == "--link-static")
|
||||
+ WantShared = false; // the last one wins
|
||||
+ }
|
||||
+
|
||||
+ if (WantShared)
|
||||
+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
|
||||
+ }
|
||||
+
|
||||
/// We only use `shared library` mode in cases where the static library form
|
||||
/// of the components provided are not available; note however that this is
|
||||
/// skipped if we're run from within the build dir. However, once installed,
|
||||
@@ -0,0 +1,174 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, python
|
||||
, libffi
|
||||
, libbfd
|
||||
, libpfm
|
||||
, libxml2
|
||||
, ncurses
|
||||
, version
|
||||
, release_version
|
||||
, zlib
|
||||
, debugVersion ? false
|
||||
, enableManpages ? false
|
||||
, enableSharedLibraries ? true
|
||||
, enableWasm ? true
|
||||
, enablePFM ? !stdenv.isDarwin
|
||||
}:
|
||||
|
||||
let
|
||||
src = fetch "llvm" "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb";
|
||||
|
||||
# Used when creating a version-suffixed symlink of libLLVM.dylib
|
||||
shortVersion = with stdenv.lib;
|
||||
concatStringsSep "." (take 1 (splitString "." release_version));
|
||||
in stdenv.mkDerivation (rec {
|
||||
name = "llvm-${version}";
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${src}
|
||||
mv llvm-${version}* llvm
|
||||
sourceRoot=$PWD/llvm
|
||||
'';
|
||||
|
||||
outputs = [ "out" "python" ]
|
||||
++ stdenv.lib.optional enableSharedLibraries "lib";
|
||||
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libxml2 libffi ]
|
||||
++ stdenv.lib.optional enablePFM libpfm; # exegesis
|
||||
|
||||
propagatedBuildInputs = [ ncurses zlib ];
|
||||
|
||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace cmake/modules/AddLLVM.cmake \
|
||||
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \
|
||||
--replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' ""
|
||||
''
|
||||
# Patch llvm-config to return correct library path based on --link-{shared,static}.
|
||||
+ stdenv.lib.optionalString (enableSharedLibraries) ''
|
||||
substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
|
||||
patch -p1 < ./llvm-outputs.patch
|
||||
'' + ''
|
||||
# FileSystem permissions tests fail with various special bits
|
||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||
--replace "Path.cpp" ""
|
||||
rm unittests/Support/Path.cpp
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -i ${../TLI-musl.patch}
|
||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||
--replace "add_subdirectory(DynamicLibrary)" ""
|
||||
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
|
||||
'' + ''
|
||||
patchShebangs test/BugPoint/compile-custom.ll.py
|
||||
'';
|
||||
|
||||
# hacky fix: created binaries need to be run before installation
|
||||
preBuild = ''
|
||||
mkdir -p $out/
|
||||
ln -sv $PWD/lib $out
|
||||
'';
|
||||
|
||||
cmakeFlags = with stdenv; [
|
||||
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
|
||||
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
|
||||
"-DLLVM_BUILD_TESTS=ON"
|
||||
"-DLLVM_ENABLE_FFI=ON"
|
||||
"-DLLVM_ENABLE_RTTI=ON"
|
||||
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
|
||||
"-DLLVM_ENABLE_DUMP=ON"
|
||||
]
|
||||
++ stdenv.lib.optional enableSharedLibraries
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||
++ stdenv.lib.optionals enableManpages [
|
||||
"-DLLVM_BUILD_DOCS=ON"
|
||||
"-DLLVM_ENABLE_SPHINX=ON"
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
]
|
||||
++ stdenv.lib.optional (!isDarwin)
|
||||
"-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
|
||||
++ stdenv.lib.optionals (isDarwin) [
|
||||
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||
"-DCAN_TARGET_i386=false"
|
||||
]
|
||||
++ stdenv.lib.optional enableWasm
|
||||
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
|
||||
;
|
||||
|
||||
postBuild = ''
|
||||
rm -fR $out
|
||||
|
||||
paxmark m bin/{lli,llvm-rtdyld}
|
||||
paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
|
||||
paxmark m unittests/ExecutionEngine/Orc/OrcJITTests
|
||||
paxmark m unittests/Support/SupportTests
|
||||
paxmark m bin/lli-child-target
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $python/share
|
||||
mv $out/share/opt-viewer $python/share/opt-viewer
|
||||
''
|
||||
+ stdenv.lib.optionalString enableSharedLibraries ''
|
||||
moveToOutput "lib/libLLVM-*" "$lib"
|
||||
moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
|
||||
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
|
||||
''
|
||||
+ stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) ''
|
||||
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
'';
|
||||
|
||||
doCheck = stdenv.isLinux && (!stdenv.isi686);
|
||||
|
||||
checkTarget = "check-all";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.src = src;
|
||||
|
||||
meta = {
|
||||
description = "Collection of modular and reusable compiler and toolchain technologies";
|
||||
homepage = http://llvm.org/;
|
||||
license = stdenv.lib.licenses.ncsa;
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
} // stdenv.lib.optionalAttrs enableManpages {
|
||||
name = "llvm-manpages-${version}";
|
||||
|
||||
buildPhase = ''
|
||||
make docs-llvm-man
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [];
|
||||
|
||||
installPhase = ''
|
||||
make -C docs install
|
||||
'';
|
||||
|
||||
postPatch = null;
|
||||
postInstall = null;
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta.description = "man pages for LLVM ${version}";
|
||||
})
|
||||
@@ -0,0 +1,25 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, llvm
|
||||
, perl
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "openmp-${version}";
|
||||
|
||||
src = fetch "openmp" "1zrqlaxr954sp8lcr7g8m0z0pr8xyq4i6p11x6gcamjm5xijnrih";
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
buildInputs = [ llvm ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Components required to build an executable OpenMP program";
|
||||
homepage = http://openmp.llvm.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,412 @@
|
||||
From f7a253f8f85d0f49df6b73996737a3e84ac64236 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Mon, 24 Sep 2018 11:17:25 -0500
|
||||
Subject: [PATCH] Ported to 7.0, taken from gentoo-musl project.
|
||||
|
||||
------
|
||||
Ported to compiler-rt-sanitizers-5.0.0. Taken from
|
||||
|
||||
https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
|
||||
Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Taken from gentoo-musl project, with a few additional minor fixes.
|
||||
---
|
||||
lib/asan/asan_linux.cc | 4 +-
|
||||
lib/interception/interception_linux.cc | 2 +-
|
||||
lib/interception/interception_linux.h | 2 +-
|
||||
lib/msan/msan_linux.cc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_allocator.cc | 2 +-
|
||||
.../sanitizer_common_interceptors_ioctl.inc | 4 +-
|
||||
.../sanitizer_common_syscalls.inc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_linux.cc | 8 +++-
|
||||
.../sanitizer_linux_libcdep.cc | 10 ++---
|
||||
lib/sanitizer_common/sanitizer_platform.h | 6 +++
|
||||
.../sanitizer_platform_interceptors.h | 4 +-
|
||||
.../sanitizer_platform_limits_posix.cc | 37 +++++++++++--------
|
||||
lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
|
||||
13 files changed, 51 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
|
||||
index 625f32d40..73cf77aca 100644
|
||||
--- a/lib/asan/asan_linux.cc
|
||||
+++ b/lib/asan/asan_linux.cc
|
||||
@@ -46,7 +46,7 @@
|
||||
#include <link.h>
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
|
||||
+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||
#include <ucontext.h>
|
||||
extern "C" void* _DYNAMIC;
|
||||
#elif SANITIZER_NETBSD
|
||||
@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
|
||||
UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
-#if SANITIZER_ANDROID
|
||||
+#if SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
// FIXME: should we do anything for Android?
|
||||
void AsanCheckDynamicRTPrereqs() {}
|
||||
void AsanCheckIncompatibleRT() {}
|
||||
diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
|
||||
index 26bfcd8f6..529b234f7 100644
|
||||
--- a/lib/interception/interception_linux.cc
|
||||
+++ b/lib/interception/interception_linux.cc
|
||||
@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
||||
}
|
||||
|
||||
// Android and Solaris do not have dlvsym
|
||||
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
|
||||
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||
}
|
||||
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
|
||||
index 942c25609..24a4d5080 100644
|
||||
--- a/lib/interception/interception_linux.h
|
||||
+++ b/lib/interception/interception_linux.h
|
||||
@@ -36,7 +36,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
||||
(::__interception::uptr) & WRAP(func))
|
||||
|
||||
// Android, Solaris and OpenBSD do not have dlvsym
|
||||
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
|
||||
#define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
|
||||
(::__interception::real_##func = (func##_f)( \
|
||||
unsigned long)::__interception::GetFuncAddrVer(#func, symver))
|
||||
diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
|
||||
index 385a650c4..6e30a8ce9 100644
|
||||
--- a/lib/msan/msan_linux.cc
|
||||
+++ b/lib/msan/msan_linux.cc
|
||||
@@ -13,7 +13,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "sanitizer_common/sanitizer_platform.h"
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
|
||||
+#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
|
||||
|
||||
#include "msan.h"
|
||||
#include "msan_report.h"
|
||||
diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
|
||||
index 6bfd5e5ee..048f6154f 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_allocator.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_allocator.cc
|
||||
@@ -27,7 +27,7 @@ const char *SecondaryAllocatorName = "LargeMmapAllocator";
|
||||
|
||||
// ThreadSanitizer for Go uses libc malloc/free.
|
||||
#if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
|
||||
-# if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
extern "C" void *__libc_malloc(uptr size);
|
||||
# if !SANITIZER_GO
|
||||
extern "C" void *__libc_memalign(uptr alignment, uptr size);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
index 2d633c173..b6eb23116 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
@@ -104,7 +104,7 @@ static void ioctl_table_fill() {
|
||||
_(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
// Conflicting request ids.
|
||||
// _(CDROMAUDIOBUFSIZ, NONE, 0);
|
||||
// _(SNDCTL_TMR_CONTINUE, NONE, 0);
|
||||
@@ -365,7 +365,7 @@ static void ioctl_table_fill() {
|
||||
_(VT_WAITACTIVE, NONE, 0);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
|
||||
_(CYGETDEFTHRESH, WRITE, sizeof(int));
|
||||
_(CYGETDEFTIMEOUT, WRITE, sizeof(int));
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
index 469c8eb7e..24f87867d 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
|
||||
}
|
||||
}
|
||||
|
||||
-#if !SANITIZER_ANDROID
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
|
||||
void *old_rlim) {
|
||||
if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
|
||||
index 96d6c1eff..9e2b7fb9d 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux.cc
|
||||
@@ -541,13 +541,13 @@ const char *GetEnv(const char *name) {
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD
|
||||
+#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_NONGNU
|
||||
extern "C" {
|
||||
SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \
|
||||
+#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD && \
|
||||
!SANITIZER_OPENBSD
|
||||
static void ReadNullSepFileToArray(const char *path, char ***arr,
|
||||
int arr_size) {
|
||||
@@ -590,6 +590,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
|
||||
#elif SANITIZER_NETBSD
|
||||
*argv = __ps_strings->ps_argvstr;
|
||||
*envp = __ps_strings->ps_envstr;
|
||||
+#elif SANITIZER_NONGNU
|
||||
+ static const int kMaxArgv = 2000, kMaxEnvp = 2000;
|
||||
+ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
|
||||
+ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
|
||||
#else // SANITIZER_FREEBSD
|
||||
#if !SANITIZER_GO
|
||||
if (&__libc_stack_end) {
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
index 4962ff832..438f94dbe 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
@@ -179,7 +179,7 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor,
|
||||
}
|
||||
|
||||
#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
|
||||
- !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS
|
||||
+ !SANITIZER_NETBSD && !SANITIZER_OPENBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
static uptr g_tls_size;
|
||||
|
||||
#ifdef __i386__
|
||||
@@ -261,7 +261,7 @@ void InitTlsSize() { }
|
||||
#if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) || \
|
||||
defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) || \
|
||||
defined(__arm__)) && \
|
||||
- SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+ SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// sizeof(struct pthread) from glibc.
|
||||
static atomic_uintptr_t thread_descriptor_size;
|
||||
|
||||
@@ -426,7 +426,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
static void GetTls(uptr *addr, uptr *size) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
|
||||
*addr = ThreadSelf();
|
||||
*size = GetTlsSize();
|
||||
@@ -470,7 +470,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
#elif SANITIZER_OPENBSD
|
||||
*addr = 0;
|
||||
*size = 0;
|
||||
-#elif SANITIZER_ANDROID
|
||||
+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
*addr = 0;
|
||||
*size = 0;
|
||||
#elif SANITIZER_SOLARIS
|
||||
@@ -486,7 +486,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
#if !SANITIZER_GO
|
||||
uptr GetTlsSize() {
|
||||
#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
|
||||
- SANITIZER_OPENBSD || SANITIZER_SOLARIS
|
||||
+ SANITIZER_OPENBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||
uptr addr, size;
|
||||
GetTls(&addr, &size);
|
||||
return size;
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
|
||||
index d81e25580..e10680ac8 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform.h
|
||||
@@ -208,6 +208,12 @@
|
||||
# define SANITIZER_SOLARIS32 0
|
||||
#endif
|
||||
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+# define SANITIZER_NONGNU 1
|
||||
+#else
|
||||
+# define SANITIZER_NONGNU 0
|
||||
+#endif
|
||||
+
|
||||
#if defined(__myriad2__)
|
||||
# define SANITIZER_MYRIAD2 1
|
||||
#else
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
index f95539a73..6c53b3415 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
@@ -39,7 +39,7 @@
|
||||
# include "sanitizer_platform_limits_solaris.h"
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# define SI_LINUX_NOT_ANDROID 1
|
||||
#else
|
||||
# define SI_LINUX_NOT_ANDROID 0
|
||||
@@ -322,7 +322,7 @@
|
||||
#define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_SHMCTL \
|
||||
(SI_NETBSD || SI_OPENBSD || SI_SOLARIS || \
|
||||
- ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
|
||||
+ ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
|
||||
SANITIZER_WORDSIZE == 64)) // NOLINT
|
||||
#define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
|
||||
#define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 54da635d7..2f6ff69c3 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -14,6 +14,9 @@
|
||||
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
+// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
|
||||
+#define _LINUX_SYSINFO_H
|
||||
+
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
// Tests in this file assume that off_t-dependent data structures match the
|
||||
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||
@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#include <glob.h>
|
||||
-#include <obstack.h>
|
||||
+# if !SANITIZER_NONGNU
|
||||
+# include <obstack.h>
|
||||
+# endif
|
||||
#include <mqueue.h>
|
||||
-#include <net/if_ppp.h>
|
||||
-#include <netax25/ax25.h>
|
||||
-#include <netipx/ipx.h>
|
||||
-#include <netrom/netrom.h>
|
||||
+#include <linux/if_ppp.h>
|
||||
+#include <linux/ax25.h>
|
||||
+#include <linux/ipx.h>
|
||||
+#include <linux/netrom.h>
|
||||
#if HAVE_RPC_XDR_H
|
||||
# include <rpc/xdr.h>
|
||||
#elif HAVE_TIRPC_RPC_XDR_H
|
||||
@@ -251,7 +256,7 @@ namespace __sanitizer {
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
|
||||
// has been removed from glibc 2.28.
|
||||
#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
|
||||
@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
#endif
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int glob_nomatch = GLOB_NOMATCH;
|
||||
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||
#endif
|
||||
@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_termios_sz = sizeof(struct termios);
|
||||
unsigned struct_winsize_sz = sizeof(struct winsize);
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
unsigned struct_arpreq_sz = sizeof(struct arpreq);
|
||||
unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
|
||||
unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
|
||||
@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||
unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
|
||||
#if EV_VERSION > (0x010000)
|
||||
@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||
unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
|
||||
unsigned IOCTL_CYGETMON = CYGETMON;
|
||||
@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
|
||||
CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(glob_t);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
|
||||
@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_base);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_len);
|
||||
|
||||
+#if !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(msghdr);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
|
||||
@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
|
||||
+#endif
|
||||
|
||||
#ifndef __GLIBC_PREREQ
|
||||
#define __GLIBC_PREREQ(x, y) 0
|
||||
@@ -1145,7 +1152,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
|
||||
|
||||
CHECK_TYPE_SIZE(ether_addr);
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(ipc_perm);
|
||||
# if SANITIZER_FREEBSD
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, key);
|
||||
@@ -1206,7 +1213,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
|
||||
CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
|
||||
#endif
|
||||
|
||||
@@ -1256,7 +1263,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _flags);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
|
||||
@@ -1275,7 +1282,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _fileno);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
|
||||
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
index de989b780..51a97b554 100644
|
||||
--- a/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
@@ -294,7 +294,7 @@ void InitializePlatform() {
|
||||
// This is required to properly "close" the fds, because we do not see internal
|
||||
// closes within glibc. The code is a pure hack.
|
||||
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int cnt = 0;
|
||||
struct __res_state *statp = (struct __res_state*)state;
|
||||
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||
--
|
||||
2.19.0
|
||||
|
||||
@@ -90,6 +90,7 @@ stdenv.mkDerivation (args // rec {
|
||||
'';
|
||||
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
broken = stdenv.isAarch64 && !stdenv.lib.versionAtLeast version "4.06";
|
||||
};
|
||||
|
||||
})
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, jbuilder
|
||||
{ stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, dune
|
||||
, menhir, merlin_extend, ppx_tools_versioned, utop
|
||||
}:
|
||||
|
||||
@@ -15,14 +15,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [ menhir merlin_extend ppx_tools_versioned ];
|
||||
|
||||
buildInputs = [ makeWrapper ocaml findlib jbuilder utop menhir ];
|
||||
buildInputs = [ makeWrapper ocaml findlib dune utop menhir ];
|
||||
|
||||
buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
|
||||
|
||||
installPhase = ''
|
||||
for p in reason rtop
|
||||
do
|
||||
${jbuilder.installPhase} $p.install
|
||||
${dune.installPhase} $p.install
|
||||
done
|
||||
|
||||
wrapProgram $out/bin/rtop \
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbcl-${version}";
|
||||
version = "1.4.7";
|
||||
version = "1.4.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||
sha256 = "1wmxly94pn8527092hyzg5mq58mg7qlc46nm31f268wb2dm67rvm";
|
||||
sha256 = "1j9wb608pkihpwgzl4qvnr4jl6mb7ngfqy559pxnvmnn1zlyfklh";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
}:
|
||||
|
||||
let
|
||||
v_major = "4.1";
|
||||
version = "${v_major}-RELEASE";
|
||||
version_friendly = "${v_major}";
|
||||
v_base = "4.1.3";
|
||||
version = "${v_base}-RELEASE";
|
||||
version_friendly = "${v_base}";
|
||||
|
||||
tag = "refs/tags/swift-${version}";
|
||||
fetch = { repo, sha256, fetchSubmodules ? false }:
|
||||
@@ -58,7 +58,7 @@ let
|
||||
};
|
||||
llvm = fetch {
|
||||
repo = "swift-llvm";
|
||||
sha256 = "03558f5zbchqvdabi3x9ahyz4xkmj7w69gazivz372832lgr9zfh";
|
||||
sha256 = "0q5cv4iydm8c1kcax32573y3q2cbpihwgj5aa8ws1fnpy4jvq934";
|
||||
};
|
||||
compilerrt = fetch {
|
||||
repo = "swift-compiler-rt";
|
||||
@@ -70,7 +70,7 @@ let
|
||||
};
|
||||
lldb = fetch {
|
||||
repo = "swift-lldb";
|
||||
sha256 = "09x3d3bc6rn9g6jpi3fb120c4r2carsmqla4bq4scjrs0867jz9m";
|
||||
sha256 = "1d0pa7xm289bjb6r52hkkmlngkqkwbwgixnmm30bin2q18mkxk7s";
|
||||
};
|
||||
llbuild = fetch {
|
||||
repo = "swift-llbuild";
|
||||
@@ -86,7 +86,7 @@ let
|
||||
};
|
||||
foundation = fetch {
|
||||
repo = "swift-corelibs-foundation";
|
||||
sha256 = "06pbhb7wg4q5qgprhiyzbqy6hssga7xxjclhlh81gd6rvfd6bxvw";
|
||||
sha256 = "1bhrag63rmz41bg2g6ap01qrdpq37hislgf5hg6myy2v69q7mahx";
|
||||
};
|
||||
libdispatch = fetch {
|
||||
repo = "swift-corelibs-libdispatch";
|
||||
@@ -95,7 +95,7 @@ let
|
||||
};
|
||||
swift = fetch {
|
||||
repo = "swift";
|
||||
sha256 = "1flvr12bg8m4k44yq0xy9qrllv5rpxgxisjgbpakk5p3myfsx7ky";
|
||||
sha256 = "1ydx11pkvaasgjbr29lnha0lpnak758gd5l0aqzmp3q6mcyvfm7a";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -287,6 +287,7 @@ stdenv.mkDerivation rec {
|
||||
# Swift doesn't support 32bit Linux, unknown on other platforms.
|
||||
platforms = platforms.linux;
|
||||
badPlatforms = platforms.i686;
|
||||
broken = stdenv.isAarch64; # 2018-09-04, never built on Hydra
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = git://github.com/QuickChick/QuickChick.git;
|
||||
homepage = https://github.com/QuickChick/QuickChick;
|
||||
description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck";
|
||||
maintainers = with maintainers; [ jwiegley ];
|
||||
platforms = coq.meta.platforms;
|
||||
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = git://github.com/jwiegley/category-theory.git;
|
||||
homepage = https://github.com/jwiegley/category-theory;
|
||||
description = "A formalization of category theory in Coq for personal study and practical work";
|
||||
maintainers = with maintainers; [ jwiegley ];
|
||||
platforms = coq.meta.platforms;
|
||||
|
||||
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = git://github.com/jwiegley/coq-haskell.git;
|
||||
homepage = https://github.com/jwiegley/coq-haskell;
|
||||
description = "A library for formalizing Haskell types and functions in Coq";
|
||||
maintainers = with maintainers; [ jwiegley ];
|
||||
platforms = coq.meta.platforms;
|
||||
|
||||
@@ -33,7 +33,7 @@ self: super: {
|
||||
unbuildable = throw "package depends on meta package 'unbuildable'";
|
||||
|
||||
# Use the latest version of the Cabal library.
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
|
||||
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_0_1; });
|
||||
|
||||
# The test suite depends on old versions of tasty and QuickCheck.
|
||||
hackage-security = dontCheck super.hackage-security;
|
||||
@@ -86,7 +86,7 @@ self: super: {
|
||||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "0a7h21cwfvprj5xfyivjzg2hbs71xp85l9v6kyp58mlqvwy3zffl";
|
||||
sha256 = "1y56dlhx3azny5hzixn9x4kmzzpmakzyvw45qk8x4ffsc7jqq5bs";
|
||||
};
|
||||
}).override {
|
||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||
@@ -360,6 +360,7 @@ self: super: {
|
||||
optional = dontCheck super.optional;
|
||||
orgmode-parse = dontCheck super.orgmode-parse;
|
||||
os-release = dontCheck super.os-release;
|
||||
pandoc-crossref = dontCheck super.pandoc-crossref; # (most likely change when no longer 0.3.2.1) https://github.com/lierdakil/pandoc-crossref/issues/199
|
||||
persistent-redis = dontCheck super.persistent-redis;
|
||||
pipes-extra = dontCheck super.pipes-extra;
|
||||
pipes-websockets = dontCheck super.pipes-websockets;
|
||||
@@ -926,16 +927,14 @@ self: super: {
|
||||
text-icu = dontCheck super.text-icu;
|
||||
|
||||
# https://github.com/haskell/cabal/issues/4969
|
||||
haddock-library_1_4_4 = dontHaddock super.haddock-library_1_4_4;
|
||||
haddock-api = super.haddock-api.override { haddock-library = self.haddock-library_1_4_4; };
|
||||
haddock-api = (super.haddock-api.overrideScope (self: super: {
|
||||
haddock-library = self.haddock-library_1_6_0;
|
||||
})).override { hspec = self.hspec_2_4_8; };
|
||||
|
||||
# Jailbreak "unix-compat >=0.1.2 && <0.5".
|
||||
# Jailbreak "graphviz >=2999.18.1 && <2999.20".
|
||||
darcs = overrideCabal super.darcs (drv: { preConfigure = "sed -i -e 's/unix-compat .*,/unix-compat,/' -e 's/fgl .*,/fgl,/' -e 's/graphviz .*,/graphviz,/' darcs.cabal"; });
|
||||
|
||||
# https://github.com/Twinside/Juicy.Pixels/issues/149
|
||||
JuicyPixels = dontHaddock super.JuicyPixels;
|
||||
|
||||
# aarch64 and armv7l fixes.
|
||||
happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
|
||||
hashable = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
|
||||
@@ -1074,16 +1073,10 @@ self: super: {
|
||||
haddock-library = doJailbreak (dontCheck super.haddock-library);
|
||||
haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
|
||||
|
||||
# cabal2nix requires hpack >= 0.29.6 but the LTS has hpack-0.28.2.
|
||||
# Lets remove this once the LTS has upraded to 0.29.6.
|
||||
hpack = super.hpack_0_29_7;
|
||||
|
||||
# The test suite does not know how to find the 'cabal2nix' binary.
|
||||
cabal2nix = overrideCabal super.cabal2nix (drv: {
|
||||
preCheck = ''
|
||||
export PATH="$PWD/dist/build/cabal2nix:$PATH"
|
||||
export HOME="$TMPDIR/home"
|
||||
'';
|
||||
# The tool needs a newer hpack version than the one mandated by LTS-12.x.
|
||||
cabal2nix = super.cabal2nix.overrideScope (self: super: {
|
||||
hpack = self.hpack_0_31_0;
|
||||
yaml = self.yaml_0_10_2_0;
|
||||
});
|
||||
|
||||
# Break out of "aeson <1.3, temporary <1.3".
|
||||
@@ -1120,7 +1113,7 @@ self: super: {
|
||||
})) ./patches/sexpr-0.2.1.patch;
|
||||
|
||||
# Can be removed once yi-language >= 0.18 is in the LTS
|
||||
yi-core = super.yi-core.override { yi-language = self.yi-language_0_18_0; };
|
||||
yi-core = super.yi-core.overrideScope (self: super: { yi-language = self.yi-language_0_18_0; });
|
||||
|
||||
# https://github.com/MarcWeber/hasktags/issues/52
|
||||
hasktags = dontCheck super.hasktags;
|
||||
@@ -1130,4 +1123,31 @@ self: super: {
|
||||
|
||||
# https://github.com/snapframework/xmlhtml/pull/37
|
||||
xmlhtml = doJailbreak super.xmlhtml;
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/46467
|
||||
safe-money-aeson = super.safe-money-aeson.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-store = super.safe-money-store.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-cereal = super.safe-money-cereal.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-serialise = super.safe-money-serialise.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-xmlbf = super.safe-money-xmlbf.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
|
||||
# https://github.com/adinapoli/mandrill/pull/52
|
||||
mandrill = appendPatch super.mandrill (pkgs.fetchpatch {
|
||||
url = https://github.com/adinapoli/mandrill/commit/30356d9dfc025a5f35a156b17685241fc3882c55.patch;
|
||||
sha256 = "1qair09xs6vln3vsjz7sy4hhv037146zak4mq3iv6kdhmp606hqv";
|
||||
});
|
||||
|
||||
# Can be removed once vinyl >= 0.10 is in the LTS.
|
||||
Frames = super.Frames.overrideScope (self: super: { vinyl = self.vinyl_0_10_0; });
|
||||
|
||||
# https://github.com/Euterpea/Euterpea2/pull/22
|
||||
Euterpea = overrideSrc super.Euterpea {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Euterpea";
|
||||
repo = "Euterpea2";
|
||||
rev = "6f49b790adfb8b65d95a758116c20098fb0cd34c";
|
||||
sha256 = "0qz1svb96n42nmig16vyphwxas34hypgayvwc91ri7w7xd6yi1ba";
|
||||
};
|
||||
};
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
||||
@@ -40,8 +40,8 @@ self: super: {
|
||||
mtl = self.mtl_2_2_2;
|
||||
parsec = self.parsec_3_1_13_0;
|
||||
parsec_3_1_13_0 = addBuildDepends super.parsec_3_1_13_0 [self.fail self.semigroups];
|
||||
stm = self.stm_2_4_5_0;
|
||||
text = self.text_1_2_3_0;
|
||||
stm = self.stm_2_5_0_0;
|
||||
text = self.text_1_2_3_1;
|
||||
|
||||
# Build jailbreak-cabal with the latest version of Cabal.
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_24_2_0; };
|
||||
|
||||
@@ -39,8 +39,8 @@ self: super: {
|
||||
# These are now core libraries in GHC 8.4.x.
|
||||
mtl = self.mtl_2_2_2;
|
||||
parsec = self.parsec_3_1_13_0;
|
||||
stm = self.stm_2_4_5_0;
|
||||
text = self.text_1_2_3_0;
|
||||
stm = self.stm_2_5_0_0;
|
||||
text = self.text_1_2_3_1;
|
||||
|
||||
# https://github.com/bmillwood/applicative-quoters/issues/6
|
||||
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
|
||||
@@ -81,4 +81,8 @@ self: super: {
|
||||
haddock-library = self.haddock-library_1_4_3;
|
||||
haddock-api = self.haddock-api_2_17_4;
|
||||
haddock = self.haddock_2_17_5;
|
||||
|
||||
# GHC 8.0 doesn't have semigroups included by default
|
||||
ListLike = addBuildDepend super.ListLike self.semigroups;
|
||||
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ self: super: {
|
||||
# These are now core libraries in GHC 8.4.x.
|
||||
mtl = self.mtl_2_2_2;
|
||||
parsec = self.parsec_3_1_13_0;
|
||||
stm = self.stm_2_4_5_0;
|
||||
text = self.text_1_2_3_0;
|
||||
stm = self.stm_2_5_0_0;
|
||||
text = self.text_1_2_3_1;
|
||||
|
||||
# Make sure we can still build Cabal 1.x.
|
||||
Cabal_1_24_2_0 = overrideCabal super.Cabal_1_24_2_0 (drv: {
|
||||
@@ -96,4 +96,7 @@ self: super: {
|
||||
haddock-library = dontHaddock (dontCheck self.haddock-library_1_5_0_1);
|
||||
}));
|
||||
|
||||
# GHC 8.2 doesn't have semigroups included by default
|
||||
ListLike = addBuildDepend super.ListLike self.semigroups;
|
||||
|
||||
}
|
||||
|
||||
@@ -44,9 +44,16 @@ self: super: {
|
||||
# Use to be a core-library, but no longer is since GHC 8.4.x.
|
||||
hoopl = self.hoopl_3_10_2_2;
|
||||
|
||||
# lts-12.x versions do not compile.
|
||||
# LTS-12.x versions do not compile.
|
||||
contravariant = self.contravariant_1_5;
|
||||
doctest = self.doctest_0_16_0_1;
|
||||
hspec-core = self.hspec-core_2_5_7;
|
||||
hspec-core_2_5_7 = super.hspec-core_2_5_7.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_12_4; });
|
||||
hspec-meta = self.hspec-meta_2_5_6;
|
||||
hspec-meta_2_5_6 = super.hspec-meta_2_5_6.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_12_4; });
|
||||
primitive = self.primitive_0_6_4_0;
|
||||
tagged = self.tagged_0_8_6;
|
||||
unordered-containers = dontCheck super.unordered-containers;
|
||||
|
||||
# Over-specified constraints.
|
||||
async = doJailbreak super.async; # base >=4.3 && <4.12, stm >=2.2 && <2.5
|
||||
@@ -54,6 +61,8 @@ self: super: {
|
||||
hashable = doJailbreak super.hashable; # base >=4.4 && <4.1
|
||||
hashable-time = doJailbreak super.hashable-time; # base >=4.7 && <4.12
|
||||
integer-logarithms = doJailbreak super.integer-logarithms; # base >=4.3 && <4.12
|
||||
optparse-applicative = doJailbreak super.optparse-applicative; # https://github.com/pcapriotti/optparse-applicative/issues/319
|
||||
polyparse = markBrokenVersion "1.12" super.polyparse; # version 1.12 fails to compile
|
||||
tar = doJailbreak super.tar; # containers >=0.2 && <0.6
|
||||
test-framework = doJailbreak super.test-framework; # containers >=0.1 && <0.6
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ self: super:
|
||||
|
||||
# GHCJS does not ship with the same core packages as GHC.
|
||||
# https://github.com/ghcjs/ghcjs/issues/676
|
||||
stm = self.stm_2_4_5_0;
|
||||
stm = self.stm_2_5_0_0;
|
||||
ghc-compact = self.ghc-compact_0_1_0_0;
|
||||
|
||||
network = addBuildTools super.network (pkgs.lib.optional pkgs.buildPlatform.isDarwin pkgs.buildPackages.darwin.libiconv);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -314,9 +314,6 @@ self: super: builtins.intersectAttrs super {
|
||||
# https://github.com/bos/pcap/issues/5
|
||||
pcap = addExtraLibrary super.pcap pkgs.libpcap;
|
||||
|
||||
# https://github.com/snoyberg/yaml/issues/106
|
||||
yaml = disableCabalFlag super.yaml "system-libyaml";
|
||||
|
||||
# The cabal files for these libraries do not list the required system dependencies.
|
||||
miniball = overrideCabal super.miniball (drv: {
|
||||
librarySystemDepends = [ pkgs.miniball ];
|
||||
@@ -510,4 +507,17 @@ self: super: builtins.intersectAttrs super {
|
||||
LDAP = dontCheck (overrideCabal super.LDAP (drv: {
|
||||
librarySystemDepends = drv.librarySystemDepends or [] ++ [ pkgs.cyrus_sasl.dev ];
|
||||
}));
|
||||
|
||||
# Doctests hang only when compiling with nix.
|
||||
# https://github.com/cdepillabout/termonad/issues/15
|
||||
termonad = dontCheck super.termonad;
|
||||
|
||||
# Expects z3 to be on path so we replace it with a hard
|
||||
sbv = overrideCabal super.sbv (drv: {
|
||||
postPatch = ''
|
||||
sed -i -e 's|"z3"|"${pkgs.z3}/bin/z3"|' Data/SBV/Provers/Z3.hs'';
|
||||
});
|
||||
|
||||
# The test-suite requires a running PostgreSQL server.
|
||||
Frames-beam = dontCheck super.Frames-beam;
|
||||
}
|
||||
|
||||
@@ -55,13 +55,29 @@ in
|
||||
tensorflow-logging = super.tensorflow-logging.override {
|
||||
inherit proto-lens;
|
||||
};
|
||||
tensorflow-mnist = super.tensorflow-mnist.override {
|
||||
tensorflow-mnist = overrideCabal (super.tensorflow-mnist.override {
|
||||
inherit proto-lens;
|
||||
};
|
||||
# https://github.com/tensorflow/haskell/issues/215
|
||||
tensorflow-mnist-input-data = self.tensorflow-mnist-input-data;
|
||||
}) (_drv: { broken = false; });
|
||||
tensorflow-mnist-input-data = setSourceRoot "tensorflow-mnist-input-data" (super.callPackage (
|
||||
{ mkDerivation, base, bytestring, Cabal, cryptonite, directory
|
||||
, filepath, HTTP, network-uri, stdenv
|
||||
}:
|
||||
|
||||
let
|
||||
fileInfos = {
|
||||
"train-images-idx3-ubyte.gz" = "440fcabf73cc546fa21475e81ea370265605f56be210a4024d2ca8f203523609";
|
||||
"train-labels-idx1-ubyte.gz" = "3552534a0a558bbed6aed32b30c495cca23d567ec52cac8be1a0730e8010255c";
|
||||
"t10k-images-idx3-ubyte.gz" = "8d422c7b0a1c1c79245a5bcf07fe86e33eeafee792b84584aec276f5a2dbc4e6";
|
||||
"t10k-labels-idx1-ubyte.gz" = "f7ae60f92e00ec6debd23a6088c31dbd2371eca3ffa0defaefb259924204aec6";
|
||||
};
|
||||
downloads = with pkgs.lib; flip mapAttrsToList fileInfos (name: sha256:
|
||||
pkgs.fetchurl {
|
||||
url = "http://yann.lecun.com/exdb/mnist/${name}";
|
||||
inherit sha256;
|
||||
});
|
||||
in
|
||||
mkDerivation {
|
||||
pname = "tensorflow-mnist-input-data";
|
||||
version = "0.1.0.0";
|
||||
@@ -71,6 +87,9 @@ in
|
||||
base bytestring Cabal cryptonite directory filepath HTTP
|
||||
network-uri
|
||||
];
|
||||
preConfigure = pkgs.lib.strings.concatStringsSep "\n" (
|
||||
map (x: "ln -s ${x} data/$(stripHash ${x})") downloads
|
||||
);
|
||||
libraryHaskellDepends = [ base ];
|
||||
homepage = "https://github.com/tensorflow/haskell#readme";
|
||||
description = "Downloader of input data for training MNIST";
|
||||
|
||||
@@ -26,7 +26,7 @@ in
|
||||
, editedCabalFile ? null
|
||||
, enableLibraryProfiling ? true
|
||||
, enableExecutableProfiling ? false
|
||||
, profilingDetail ? "all-functions"
|
||||
, profilingDetail ? "exported-functions"
|
||||
# TODO enable shared libs for cross-compiling
|
||||
, enableSharedExecutables ? false
|
||||
, enableSharedLibraries ? (ghc.enableShared or false)
|
||||
@@ -135,7 +135,7 @@ let
|
||||
buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags);
|
||||
|
||||
defaultConfigureFlags = [
|
||||
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
|
||||
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$abi/\\$libname"
|
||||
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
|
||||
(optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
|
||||
"--with-gcc=$CC" # Clang won't work without that extra information.
|
||||
@@ -153,6 +153,7 @@ let
|
||||
(optionalString (versionOlder "8.4" ghc.version) (enableFeature enableStaticLibraries "static"))
|
||||
(optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
|
||||
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
|
||||
(enableFeature doBenchmark "benchmarks")
|
||||
"--enable-library-vanilla" # TODO: Should this be configurable?
|
||||
"--enable-library-for-ghci" # TODO: Should this be configurable?
|
||||
] ++ optionals (enableDeadCodeElimination && (stdenv.lib.versionOlder "8.0.1" ghc.version)) [
|
||||
|
||||
+4929
-2213
File diff suppressed because it is too large
Load Diff
@@ -176,19 +176,22 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
|
||||
callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
|
||||
|
||||
# Creates a Haskell package from a source package by calling cabal2nix on the source.
|
||||
callCabal2nix = name: src: args: let
|
||||
filter = path: type:
|
||||
pkgs.lib.hasSuffix "${name}.cabal" path ||
|
||||
baseNameOf path == "package.yaml";
|
||||
expr = self.haskellSrc2nix {
|
||||
inherit name;
|
||||
src = if pkgs.lib.canCleanSource src
|
||||
then pkgs.lib.cleanSourceWith { inherit src filter; }
|
||||
else src;
|
||||
};
|
||||
in overrideCabal (callPackageKeepDeriver expr args) (orig: {
|
||||
inherit src;
|
||||
});
|
||||
callCabal2nixWithOptions = name: src: extraCabal2nixOptions: args:
|
||||
let
|
||||
filter = path: type:
|
||||
pkgs.lib.hasSuffix "${name}.cabal" path ||
|
||||
baseNameOf path == "package.yaml";
|
||||
expr = self.haskellSrc2nix {
|
||||
inherit name extraCabal2nixOptions;
|
||||
src = if pkgs.lib.canCleanSource src
|
||||
then pkgs.lib.cleanSourceWith { inherit src filter; }
|
||||
else src;
|
||||
};
|
||||
in overrideCabal (callPackageKeepDeriver expr args) (orig: {
|
||||
inherit src;
|
||||
});
|
||||
|
||||
callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args;
|
||||
|
||||
# : { root : Path
|
||||
# , source-overrides : Defaulted (Either Path VersionNumber)
|
||||
|
||||
@@ -4,15 +4,20 @@
|
||||
|
||||
let hashes = {
|
||||
"8.0" = "1x1giy2c1y6krg3kf8pf9wrmvk981shv0pxcwi483yjqm90xng4r";
|
||||
"8.1" = "0isi75j94q79x4341rhd94c60228iwvccy71ssnyvh1025m93xcd";
|
||||
};
|
||||
revs = {
|
||||
"8.0" = "8.0";
|
||||
"8.1" = "8.1";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "acl2-${version}";
|
||||
version = "8.0";
|
||||
version = "8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "acl2-devel";
|
||||
repo = "acl2-devel";
|
||||
rev = "${version}";
|
||||
rev = revs."${version}";
|
||||
sha256 = hashes."${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -11,6 +11,16 @@ let
|
||||
sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
|
||||
};
|
||||
|
||||
makeOrderingPatch = fetchpatch {
|
||||
url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch";
|
||||
sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n";
|
||||
};
|
||||
|
||||
makeParallelInstallPatch = fetchpatch {
|
||||
url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch";
|
||||
sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c";
|
||||
};
|
||||
|
||||
in mkDerivation rec {
|
||||
version = "18.3.4.8";
|
||||
sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g";
|
||||
@@ -18,5 +28,7 @@ in mkDerivation rec {
|
||||
patches = [
|
||||
rmAndPwdPatch
|
||||
envAndCpPatch
|
||||
makeOrderingPatch
|
||||
makeParallelInstallPatch
|
||||
];
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
, openjdk ? null # javacSupport
|
||||
, unixODBC ? null # odbcSupport
|
||||
, libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
|
||||
, withSystemd ? stdenv.isLinux, systemd # systemd support in epmd
|
||||
}:
|
||||
|
||||
{ baseName ? "erlang"
|
||||
@@ -53,6 +54,7 @@ in stdenv.mkDerivation ({
|
||||
++ optionals wxSupport wxPackages2
|
||||
++ optionals odbcSupport odbcPackages
|
||||
++ optionals javacSupport javacPackages
|
||||
++ optional withSystemd systemd
|
||||
++ optionals stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [ Carbon Cocoa ]);
|
||||
|
||||
debugInfo = enableDebugInfo;
|
||||
@@ -84,6 +86,7 @@ in stdenv.mkDerivation ({
|
||||
++ optional javacSupport "--with-javac"
|
||||
++ optional odbcSupport "--with-odbc=${unixODBC}"
|
||||
++ optional wxSupport "--enable-wx"
|
||||
++ optional withSystemd "--enable-systemd"
|
||||
++ optional stdenv.isDarwin "--enable-darwin-64bit";
|
||||
|
||||
# install-docs will generate and install manpages and html docs
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "joker-${version}";
|
||||
version = "0.9.5";
|
||||
version = "0.9.7";
|
||||
|
||||
goPackagePath = "github.com/candid82/joker";
|
||||
|
||||
@@ -10,7 +10,7 @@ buildGoPackage rec {
|
||||
rev = "v${version}";
|
||||
owner = "candid82";
|
||||
repo = "joker";
|
||||
sha256 = "1sgxz0z6p92k1rhs5095l952a2db5w9yb2jy6cgglxw2arihxxb7";
|
||||
sha256 = "0fl04xdpqmr5xpd4pvj72gdy3v1fr9z6h3ja7dmkama8fw2x4diz";
|
||||
};
|
||||
|
||||
preBuild = "go generate ./...";
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lua-4.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://www.lua.org/ftp/lua-4.0.1.tar.gz;
|
||||
sha256 = "0ajd906hasii365xdihv9mdmi3cixq758blx0289x4znkha6wx6z";
|
||||
};
|
||||
|
||||
configurePhase = "sed -i -e 's/CFLAGS= -O2/CFLAGS = -O3 -fPIC/' config";
|
||||
buildFlags = "all so sobin";
|
||||
installFlags = "INSTALL_ROOT=$$out";
|
||||
|
||||
hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector";
|
||||
|
||||
meta = {
|
||||
homepage = http://www.lua.org;
|
||||
description = "Powerful, fast, lightweight, embeddable scripting language";
|
||||
longDescription = ''
|
||||
Lua combines simple procedural syntax with powerful data
|
||||
description constructs based on associative arrays and extensible
|
||||
semantics. Lua is dynamically typed, runs by interpreting bytecode
|
||||
for a register-based virtual machine, and has automatic memory
|
||||
management with incremental garbage collection, making it ideal
|
||||
for configuration, scripting, and rapid prototyping.
|
||||
'';
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
branch = "4";
|
||||
};
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lua-5.0.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://www.lua.org/ftp/lua-5.0.3.tar.gz;
|
||||
sha256 = "1193a61b0e08acaa6eee0eecf29709179ee49c71baebc59b682a25c3b5a45671";
|
||||
};
|
||||
|
||||
hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector";
|
||||
|
||||
configurePhase = "sed -i -e 's/MYCFLAGS=.*/MYCFLAGS=-O3 -fomit-frame-pointer -fPIC/' config";
|
||||
buildFlags = "all so sobin";
|
||||
installFlags = "INSTALL_ROOT=$$out";
|
||||
installTargets = "install soinstall";
|
||||
|
||||
meta = {
|
||||
homepage = http://www.lua.org;
|
||||
description = "Powerful, fast, lightweight, embeddable scripting language";
|
||||
longDescription = ''
|
||||
Lua combines simple procedural syntax with powerful data
|
||||
description constructs based on associative arrays and extensible
|
||||
semantics. Lua is dynamically typed, runs by interpreting bytecode
|
||||
for a register-based virtual machine, and has automatic memory
|
||||
management with incremental garbage collection, making it ideal
|
||||
for configuration, scripting, and rapid prototyping.
|
||||
'';
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -10,11 +10,11 @@ in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lua-${version}";
|
||||
luaversion = "5.2";
|
||||
version = "${luaversion}.3";
|
||||
version = "${luaversion}.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.lua.org/ftp/${name}.tar.gz";
|
||||
sha256 = "0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk";
|
||||
sha256 = "0jwznq0l8qg9wh5grwg07b5cy3lzngvl5m2nl1ikp6vqssmf9qmr";
|
||||
};
|
||||
|
||||
buildInputs = [ readline ];
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
, mysql, libxml2, readline, zlib, curl, postgresql, gettext
|
||||
, openssl, pcre, pkgconfig, sqlite, config, libjpeg, libpng, freetype
|
||||
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
|
||||
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy
|
||||
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@@ -51,6 +51,7 @@ let
|
||||
, calendarSupport ? config.php.calendar or true
|
||||
, sodiumSupport ? (config.php.sodium or true) && (versionAtLeast version "7.2")
|
||||
, tidySupport ? (config.php.tidy or false)
|
||||
, argon2Support ? (config.php.argon2 or true) && (versionAtLeast version "7.2")
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -92,7 +93,8 @@ let
|
||||
++ optional bz2Support bzip2
|
||||
++ optional (mssqlSupport && !stdenv.isDarwin) freetds
|
||||
++ optional sodiumSupport libsodium
|
||||
++ optional tidySupport html-tidy;
|
||||
++ optional tidySupport html-tidy
|
||||
++ optional argon2Support libargon2;
|
||||
|
||||
CXXFLAGS = optional stdenv.cc.isClang "-std=c++11";
|
||||
|
||||
@@ -131,6 +133,7 @@ let
|
||||
++ optionals mysqliSupport [
|
||||
"--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}"
|
||||
]
|
||||
++ optional ( pdo_mysqlSupport || 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 [
|
||||
@@ -157,7 +160,8 @@ let
|
||||
++ optional ztsSupport "--enable-maintainer-zts"
|
||||
++ optional calendarSupport "--enable-calendar"
|
||||
++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
|
||||
++ optional tidySupport "--with-tidy=${html-tidy}";
|
||||
++ optional tidySupport "--with-tidy=${html-tidy}"
|
||||
++ optional argon2Support "--with-password-argon2=${libargon2}";
|
||||
|
||||
|
||||
hardeningDisable = [ "bindnow" ];
|
||||
@@ -219,13 +223,35 @@ let
|
||||
};
|
||||
|
||||
in {
|
||||
php71 = generic {
|
||||
version = "7.1.21";
|
||||
sha256 = "104mn4kppklb21hgz1a50kgmc0ak5y996sx990xpc8yy9dbrqh62";
|
||||
};
|
||||
# Because of an upstream bug: https://bugs.php.net/bug.php?id=76826
|
||||
# We can't update the darwin versions because they simply don't compile at
|
||||
# all due to a bug in the intl extensions.
|
||||
#
|
||||
# The bug so far is present in 7.1.21, 7.1.22, 7.2.9, 7.2.10.
|
||||
|
||||
php72 = generic {
|
||||
version = "7.2.8";
|
||||
sha256 = "1rky321gcvjm0npbfd4bznh36an0y14viqcvn4yzy3x643sni00z";
|
||||
};
|
||||
php71 = generic (
|
||||
if stdenv.isDarwin then
|
||||
{
|
||||
version = "7.1.20";
|
||||
sha256 = "0i8xd6p4zdg8fl6f0j430raanlshsshr3s3jlm72b0gvi1n4f6rs";
|
||||
}
|
||||
else
|
||||
{
|
||||
version = "7.1.22";
|
||||
sha256 = "0qz74qdlk19cw478f42ckyw5r074y0fg73r2bzlhm0dar0cizsf8";
|
||||
}
|
||||
);
|
||||
|
||||
php72 = generic (
|
||||
if stdenv.isDarwin then
|
||||
{
|
||||
version = "7.2.8";
|
||||
sha256 = "1rky321gcvjm0npbfd4bznh36an0y14viqcvn4yzy3x643sni00z";
|
||||
}
|
||||
else
|
||||
{
|
||||
version = "7.2.10";
|
||||
sha256 = "17fsvdi6ihjghjsz9kk2li2rwrknm2ccb6ys0xmn789116d15dh1";
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "racket-${version}";
|
||||
version = "7.0";
|
||||
version = "7.0"; # always change at once with ./minimal.nix
|
||||
|
||||
src = (stdenv.lib.makeOverridable ({ name, sha256 }:
|
||||
fetchurl rec {
|
||||
|
||||
@@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
|
||||
"--with-intl-api"
|
||||
"--enable-readline"
|
||||
"--enable-shared-js"
|
||||
];
|
||||
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{ stdenv, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "wasm-gc-${version}";
|
||||
version = "0.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexcrichton";
|
||||
repo = "wasm-gc";
|
||||
rev = version;
|
||||
sha256 = "1lc30xxqp3vv1r269xzznh2lf2dzdq89bi5f1vmqjw4yc3xmawm7";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./fix-build.patch ]; # Cargo.lock is not up-to-date
|
||||
|
||||
cargoSha256 = "1jvk9n324p3x3j6q6x0p5diig3b5c683k74cfflff25i7gsmmvc7";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "gc-sections for wasm";
|
||||
homepage = "https://github.com/alexcrichton/wasm-gc";
|
||||
maintainers = with maintainers; [ ekleog ];
|
||||
platforms = platforms.all;
|
||||
license = with licenses; [ mit asl20 ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 923ed91..71f17c8 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -212,16 +212,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-gc"
|
||||
-version = "0.1.1"
|
||||
+version = "0.1.6"
|
||||
dependencies = [
|
||||
"env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
- "wasm-gc-api 0.1.5",
|
||||
+ "wasm-gc-api 0.1.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-gc-api"
|
||||
-version = "0.1.5"
|
||||
+version = "0.1.6"
|
||||
dependencies = [
|
||||
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
@@ -234,7 +234,7 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"wasm-bindgen 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
- "wasm-gc-api 0.1.5",
|
||||
+ "wasm-gc-api 0.1.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.12";
|
||||
version = "4.12.1";
|
||||
name = "cgal-" + version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CGAL";
|
||||
repo = "releases";
|
||||
rev = "CGAL-${version}";
|
||||
sha256 = "0n4yvg2rkrlb1bwhykrg4iyqg4whxadcs441k10xx0r75i6220mn";
|
||||
sha256 = "0b8wwfnvbayxi18jahfdplkjqr59ynq6phk0kz62gqp8vmwia9d9";
|
||||
};
|
||||
|
||||
# note: optional component libCGAL_ImageIO would need zlib and opengl;
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.7.16";
|
||||
version = "3.7.17";
|
||||
name = "afflib-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sshock";
|
||||
repo = "AFFLIBv3";
|
||||
rev = "v${version}";
|
||||
sha256 = "0piwkmg7jn64h57cjf5cybyvyqxj2k752g9vrf4ycds7nhvvbnb6";
|
||||
sha256 = "11q20n6p5nvwmd9wwk0addlfxpxagf47ly89scn3jvc7k484ksan";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
, libuuid, json-glib, meson, gperf, ninja
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "appstream-glib-0.7.10";
|
||||
name = "appstream-glib-0.7.12";
|
||||
|
||||
outputs = [ "out" "dev" "man" "installedTests" ];
|
||||
outputBin = "dev";
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "hughsie";
|
||||
repo = "appstream-glib";
|
||||
rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
|
||||
sha256 = "1m4gww09id7hwzh4hri1y3hp7p0mdrf6fk9f924r2w66hlsdil0d";
|
||||
sha256 = "0kqhm3j0nmf9pp9mpykzs2hg3nr6126ibrq1ap21hpasnq4rzlax";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "apr-1.6.3";
|
||||
name = "apr-1.6.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/apr/${name}.tar.bz2";
|
||||
sha256 = "0wiik6amxn6lkc55fv9yz5i3kbxnqbp36alrzabx1avsdp8hc7qk";
|
||||
sha256 = "01d1n1ql66bxsjx0wyzazmkqdqdmr0is6a7lwyy5kzy4z7yajz56";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "arrow-cpp-${version}";
|
||||
version = "0.10.0";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
sha256 = "0bc4krapz1kzdm16npzmgdz7zvg9lip6rnqbwph8vfn7zji0fcll";
|
||||
sha256 = "16l91fixb5dgx3v6xc73ipn1w1hjgbmijyvs81j7ywzpna2cdcdy";
|
||||
};
|
||||
|
||||
sourceRoot = "apache-arrow-${version}/cpp";
|
||||
|
||||
@@ -20,6 +20,7 @@ stdenv.mkDerivation {
|
||||
homepage = http://asio.sourceforge.net/;
|
||||
description = "Cross-platform C++ library for network and low-level I/O programming";
|
||||
license = licenses.boost;
|
||||
broken = stdenv.isDarwin; # test when updating to >=1.12.1
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -47,10 +47,24 @@ let
|
||||
# To avoid library name collisions
|
||||
layout = if taggedLayout then "tagged" else "system";
|
||||
|
||||
# Versions of b2 before 1.65 have job limits; specifically:
|
||||
# - Versions before 1.58 support up to 64 jobs[0]
|
||||
# - Versions before 1.65 support up to 256 jobs[1]
|
||||
#
|
||||
# [0]: https://github.com/boostorg/build/commit/0ef40cb86728f1cd804830fef89a6d39153ff632
|
||||
# [1]: https://github.com/boostorg/build/commit/316e26ca718afc65d6170029284521392524e4f8
|
||||
jobs =
|
||||
if versionOlder version "1.58" then
|
||||
"$(($NIX_BUILD_CORES<=64 ? $NIX_BUILD_CORES : 64))"
|
||||
else if versionOlder version "1.65" then
|
||||
"$(($NIX_BUILD_CORES<=256 ? $NIX_BUILD_CORES : 256))"
|
||||
else
|
||||
"$NIX_BUILD_CORES";
|
||||
|
||||
b2Args = concatStringsSep " " ([
|
||||
"--includedir=$dev/include"
|
||||
"--libdir=$out/lib"
|
||||
"-j$NIX_BUILD_CORES"
|
||||
"-j${jobs}"
|
||||
"--layout=${layout}"
|
||||
"variant=${variant}"
|
||||
"threading=${threading}"
|
||||
@@ -74,6 +88,7 @@ let
|
||||
] ++ optional (link != "static") "runtime-link=${runtime-link}"
|
||||
++ optional (variant == "release") "debug-symbols=off"
|
||||
++ optional (toolset != null) "toolset=${toolset}"
|
||||
++ optional (!enablePython) "--without-python"
|
||||
++ optional (mpi != null || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam"
|
||||
++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
|
||||
"threadapi=win32"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut, darwin }:
|
||||
{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
|
||||
, Cocoa, OpenGL
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bullet-${version}";
|
||||
@@ -11,10 +13,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1msp7w3563vb43w70myjmqsdb97kna54dcfa7yvi9l3bvamb92w3";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake ] ++
|
||||
(if stdenv.isDarwin
|
||||
then with darwin.apple_sdk.frameworks; [ Cocoa OpenGL ]
|
||||
else [libGLU_combined freeglut]);
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
|
||||
|
||||
patches = [ ./gwen-narrowing.patch ];
|
||||
|
||||
@@ -28,25 +29,26 @@ stdenv.mkDerivation rec {
|
||||
"-DBUILD_CPU_DEMOS=OFF"
|
||||
"-DINSTALL_EXTRA_LIBS=ON"
|
||||
] ++ stdenv.lib.optionals stdenv.isDarwin [
|
||||
"-DMACOSX_DEPLOYMENT_TARGET=\"10.9\""
|
||||
"-DOPENGL_FOUND=true"
|
||||
"-DOPENGL_LIBRARIES=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
|
||||
"-DOPENGL_INCLUDE_DIR=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
|
||||
"-DOPENGL_gl_LIBRARY=${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework"
|
||||
"-DCOCOA_LIBRARY=${darwin.apple_sdk.frameworks.Cocoa}/Library/Frameworks/Cocoa.framework"
|
||||
"-DOPENGL_LIBRARIES=${OpenGL}/Library/Frameworks/OpenGL.framework"
|
||||
"-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks/OpenGL.framework"
|
||||
"-DOPENGL_gl_LIBRARY=${OpenGL}/Library/Frameworks/OpenGL.framework"
|
||||
"-DCOCOA_LIBRARY=${Cocoa}/Library/Frameworks/Cocoa.framework"
|
||||
"-DBUILD_BULLET2_DEMOS=OFF"
|
||||
"-DBUILD_UNIT_TESTS=OFF"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A professional free 3D Game Multiphysics Library";
|
||||
longDescription = ''
|
||||
Bullet 3D Game Multiphysics Library provides state of the art collision
|
||||
detection, soft body and rigid body dynamics.
|
||||
'';
|
||||
homepage = http://bulletphysics.org;
|
||||
license = stdenv.lib.licenses.zlib;
|
||||
maintainers = with stdenv.lib.maintainers; [ aforemny ];
|
||||
platforms = with stdenv.lib.platforms; unix;
|
||||
license = licenses.zlib;
|
||||
maintainers = with maintainers; [ aforemny ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, eigen
|
||||
, fetchurl
|
||||
, cmake
|
||||
, google-gflags ? null
|
||||
, google-gflags
|
||||
, glog
|
||||
, runTests ? false
|
||||
}:
|
||||
@@ -21,7 +21,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ eigen glog ]
|
||||
++ stdenv.lib.optional (google-gflags != null) google-gflags;
|
||||
++ stdenv.lib.optional runTests google-gflags;
|
||||
|
||||
# The Basel BUILD file conflicts with the cmake build directory on
|
||||
# case-insensitive filesystems, eg. darwin.
|
||||
preConfigure = ''
|
||||
rm BUILD
|
||||
'';
|
||||
|
||||
doCheck = runTests;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
|
||||
, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib,
|
||||
gobjectIntrospection, gtk3, gnome3
|
||||
, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
|
||||
, gobjectIntrospection, gtk3, gnome3, libinput, libgudev, libxkbcommon
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
propagatedBuildInputs =
|
||||
[ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
|
||||
atk json-glib gobjectIntrospection libxcb
|
||||
atk json-glib gobjectIntrospection libxcb libinput libgudev libxkbcommon
|
||||
];
|
||||
|
||||
configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintl
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintl
|
||||
, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland, gnome3
|
||||
, mesa_noglu
|
||||
, gstreamerSupport ? true, gst_all_1 }:
|
||||
@@ -14,6 +14,23 @@ in stdenv.mkDerivation rec {
|
||||
sha256 = "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Some deepin packages need the following patches. They have been
|
||||
# submitted by Fedora on the GNOME Bugzilla
|
||||
# (https://bugzilla.gnome.org/787443). Upstream thinks the patch
|
||||
# could be merged, but dev can not make a new release.
|
||||
|
||||
(fetchpatch {
|
||||
url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=359589;
|
||||
sha256 = "0f0d9iddg8zwy853phh7swikg4yzhxxv71fcag36f8gis0j5p998";
|
||||
})
|
||||
|
||||
(fetchpatch {
|
||||
url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
|
||||
sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig libintl ];
|
||||
|
||||
configureFlags = [
|
||||
|
||||
@@ -25,7 +25,6 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
license = licenses.zlib;
|
||||
maintainers = [ maintainers.jpdoyle ];
|
||||
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,21 +1,14 @@
|
||||
{ stdenv, fetchurl, fetchpatch, zeromq }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.0.2";
|
||||
version = "4.1.1";
|
||||
name = "czmq-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zeromq/czmq/releases/download/v${version}/${name}.tar.gz";
|
||||
sha256 = "12gbh57xnz2v82x1g80gv4bwapmyzl00lbin5ix3swyac8i7m340";
|
||||
sha256 = "1h5hrcsc30fcwb032vy5gxkq4j4vv1y4dj460rfs1hhxi0cz83zh";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = https://patch-diff.githubusercontent.com/raw/zeromq/czmq/pull/1618.patch;
|
||||
sha256 = "1dssy7k0fni6djail8rz0lk8p777158jvrqhgn500i636gkxaxhp";
|
||||
})
|
||||
];
|
||||
|
||||
# Needs to be propagated for the .pc file to work
|
||||
propagatedBuildInputs = [ zeromq ];
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{stdenv, fetchFromGitHub, pkgconfig, mono, autoreconfHook }:
|
||||
{stdenv, fetchFromGitHub, pkgconfig, mono48, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dbus-sharp-${version}";
|
||||
@@ -13,7 +13,10 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ mono ];
|
||||
|
||||
# Use msbuild when https://github.com/NixOS/nixpkgs/pull/43680 is merged
|
||||
# See: https://github.com/NixOS/nixpkgs/pull/46060
|
||||
buildInputs = [ mono48 ];
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "double-conversion-${version}";
|
||||
version = "3.0.0";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "double-conversion";
|
||||
rev = "v${version}";
|
||||
sha256 = "05m78wlwrg310mxh1cl3d8d0ishzfvzh84x64xmvng252m0vc8yz";
|
||||
sha256 = "123rb2p4snqagrybw66vnapchqdwn2rfpr1wcq0ya9gwbyl7xccx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "editline-${version}";
|
||||
version = "1.15.3";
|
||||
version = "1.16.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "troglobit";
|
||||
repo = "editline";
|
||||
rev = version;
|
||||
sha256 = "0dm5fgq0acpprr938idwml64nclg9l6c6avirsd8r6f40qicbgma";
|
||||
sha256 = "0a751dp34mk9hwv59ss447csknpm5i5cgd607m3fqf24rszyhbf2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -32,6 +32,7 @@ stdenvNoCC.mkDerivation {
|
||||
'';
|
||||
|
||||
meta = libc.meta // {
|
||||
outputsToInstall = [ "out" ];
|
||||
description = "The datastructures of ELF according to the target platform's libc";
|
||||
longDescription = ''
|
||||
The Executable and Linkable Format (ELF, formerly named Extensible Linking
|
||||
|
||||
@@ -1,27 +1,32 @@
|
||||
{ stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
|
||||
, gobjectIntrospection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc
|
||||
, gobjectIntrospection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
|
||||
, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, python2, hicolor-icon-theme
|
||||
, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, makeWrapper, gnome3 }:
|
||||
|
||||
let
|
||||
version = "0.99.3";
|
||||
version = "1.0.2";
|
||||
desktop_schemas = gnome3.gsettings-desktop-schemas;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "flatpak-${version}";
|
||||
|
||||
# TODO: split out lib once we figure out what to do with triggerdir
|
||||
outputs = [ "out" "man" "doc" "installedTests" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/flatpak/flatpak/releases/download/${version}/${name}.tar.xz";
|
||||
sha256 = "0wd6ix1qyz8wmjkfrmr6j99gwywqs7ak1ilsn1ljp72g2z449ayk";
|
||||
sha256 = "0d0nnymb4p3njc24j0p6f74x7cdfi7jac714gxzzz5y5lrd651gn";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-test-paths.patch;
|
||||
inherit coreutils python2 glibcLocales;
|
||||
inherit coreutils glibcLocales;
|
||||
hicolorIconTheme = hicolor-icon-theme;
|
||||
})
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
p11 = p11-kit;
|
||||
})
|
||||
# patch taken from gtk_doc
|
||||
./respect-xml-catalog-files-var.patch
|
||||
./use-flatpak-from-path.patch
|
||||
@@ -30,7 +35,7 @@ in stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook libxml2 docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 docbook_xsl which gobjectIntrospection
|
||||
gtk-doc intltool libxslt pkgconfig xmlto appstream-glib yacc makeWrapper
|
||||
] ++ stdenv.lib.optionals doCheck checkInputs;
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bubblewrap bzip2 dbus glib gpgme json-glib libarchive libcap libseccomp
|
||||
@@ -45,6 +50,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = [
|
||||
"--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
|
||||
"--with-system-dbus-proxy=${xdg-dbus-proxy}/bin/xdg-dbus-proxy"
|
||||
"--localstatedir=/var"
|
||||
"--enable-installed-tests"
|
||||
];
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
--- a/session-helper/flatpak-session-helper.c
|
||||
+++ b/session-helper/flatpak-session-helper.c
|
||||
@@ -624,7 +624,7 @@
|
||||
g_auto(GStrv) stdout_lines = NULL;
|
||||
int i;
|
||||
char *p11_argv[] = {
|
||||
- "p11-kit", "server",
|
||||
+ "@p11@/bin/p11-kit", "server",
|
||||
/* We explicitly request --sh here, because we then fail on earlier versions that doesn't support
|
||||
* this flag. This is good, because those earlier versions did not properly daemonize and caused
|
||||
* the spawn_sync to hang forever, waiting for the pipe to close.
|
||||
@@ -770,7 +770,7 @@
|
||||
exit (1);
|
||||
}
|
||||
|
||||
- if (g_find_program_in_path ("p11-kit"))
|
||||
+ if (TRUE)
|
||||
start_p11_kit_server (flatpak_dir);
|
||||
else
|
||||
g_debug ("p11-kit not found");
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/tests/libtest.sh
|
||||
+++ b/tests/libtest.sh
|
||||
@@ -315,7 +315,7 @@
|
||||
@@ -296,7 +296,7 @@
|
||||
# running installed-tests: assume we know what we're doing
|
||||
:
|
||||
elif ! "$FLATPAK_BWRAP" --unshare-ipc --unshare-net --unshare-pid \
|
||||
@@ -9,16 +9,7 @@
|
||||
sed -e 's/^/# /' < bwrap-result
|
||||
echo "1..0 # SKIP Cannot run bwrap"
|
||||
exit 0
|
||||
@@ -323,7 +323,7 @@
|
||||
}
|
||||
|
||||
skip_without_python2 () {
|
||||
- if ! test -f /usr/bin/python2 || ! /usr/bin/python2 -c "import sys; sys.exit(0 if sys.version_info >= (2, 7) else 1)" ; then
|
||||
+ if ! test -f @python2@/bin/python2 || ! @python2@/bin/python2 -c "import sys; sys.exit(0 if sys.version_info >= (2, 7) else 1)" ; then
|
||||
echo "1..0 # SKIP this test requires /usr/bin/python2 (2.7) support"
|
||||
exit 0
|
||||
fi
|
||||
@@ -335,12 +335,12 @@
|
||||
@@ -309,12 +309,12 @@
|
||||
export DBUS_SESSION_BUS_ADDRESS="$(cat dbus-session-bus-address)"
|
||||
DBUS_SESSION_BUS_PID="$(cat dbus-session-bus-pid)"
|
||||
|
||||
@@ -43,7 +34,7 @@
|
||||
mkdir -p ${DIR}/usr/bin
|
||||
mkdir -p ${DIR}/usr/lib
|
||||
ln -s ../lib ${DIR}/usr/lib64
|
||||
@@ -35,73 +36,27 @@
|
||||
@@ -35,48 +36,27 @@
|
||||
else
|
||||
cp `which ldconfig` ${DIR}/usr/bin
|
||||
fi
|
||||
@@ -73,31 +64,6 @@
|
||||
for i in $@; do
|
||||
- I=`which $i`
|
||||
- add_bin $I
|
||||
- if test $i == python2; then
|
||||
- mkdir -p ${DIR}/usr/lib/python2.7/lib-dynload
|
||||
- # This is a hardcoded minimal set of modules we need in the current tests.
|
||||
- # Pretty hacky stuff. Add modules as needed.
|
||||
- PYDIR=/usr/lib/python2.7
|
||||
- if test -d /usr/lib64/python2.7; then PYDIR=/usr/lib64/python2.7; fi
|
||||
- for py in site os stat posixpath genericpath warnings \
|
||||
- linecache types UserDict abc _abcoll \
|
||||
- _weakrefset copy_reg traceback sysconfig \
|
||||
- re sre_compile sre_parse sre_constants \
|
||||
- _sysconfigdata ; do
|
||||
- cp ${PYDIR}/$py.py ${DIR}/usr/lib/python2.7
|
||||
- done
|
||||
- # These might not exist, depending how Python was configured; and the
|
||||
- # part after ${so} might be "module" or ".x86_64-linux-gnu" or
|
||||
- # something else
|
||||
- for so in _locale strop ; do
|
||||
- cp ${PYDIR}/lib-dynload/${so}*.so ${DIR}/usr/lib/python2.7/lib-dynload || :
|
||||
- done
|
||||
- for plat in $( cd ${PYDIR} && echo plat-* ); do
|
||||
- test -e ${PYDIR}/${plat} || continue
|
||||
- mkdir -p ${DIR}/usr/lib/python2.7/${plat}
|
||||
- cp ${PYDIR}/${plat}/*.py ${DIR}/usr/lib/python2.7/${plat}/
|
||||
- done
|
||||
- fi
|
||||
-done
|
||||
-for i in `cat $BINS`; do
|
||||
- echo Adding binary $i 1>&2
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/common/flatpak-dir.c
|
||||
+++ b/common/flatpak-dir.c
|
||||
@@ -5467,7 +5467,7 @@ export_desktop_file (const char *app,
|
||||
@@ -5758,7 +5758,7 @@ export_desktop_file (const char *app,
|
||||
|
||||
new_exec = g_string_new ("");
|
||||
g_string_append_printf (new_exec,
|
||||
@@ -9,7 +9,7 @@
|
||||
escaped_branch,
|
||||
escaped_arch);
|
||||
|
||||
@@ -6644,8 +6644,8 @@ flatpak_dir_deploy (FlatpakDir *self,
|
||||
@@ -6935,8 +6935,8 @@ flatpak_dir_deploy (FlatpakDir *self,
|
||||
error))
|
||||
return FALSE;
|
||||
|
||||
|
||||
@@ -29,7 +29,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1svhbjibm448ybq6gnjjzj0ak42srhihssafj0w402aj71lgaq4a";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-format -Wno-misleading-indentation -Wno-error";
|
||||
NIX_CFLAGS_COMPILE = [ "-Wno-error=misleading-indentation" "-Wno-error=pointer-compare" ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
pythonPath = with python3Packages;
|
||||
[ pygobject3 ];
|
||||
|
||||
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
|
||||
./gobject_init_on_demand.patch
|
||||
] ++ [ ./schema-override-variable.patch ];
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
outputs = [ "bin" "out" "dev" "devdoc" ];
|
||||
outputBin = "dev";
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
@@ -104,12 +104,16 @@ stdenv.mkDerivation rec {
|
||||
DETERMINISTIC_BUILD = 1;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $bin/bin
|
||||
for app in gapplication gdbus gio gsettings; do
|
||||
mv "$dev/bin/$app" "$bin/bin"
|
||||
done
|
||||
|
||||
moveToOutput "share/glib-2.0" "$dev"
|
||||
substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev"
|
||||
sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|"
|
||||
''
|
||||
# This file is *included* in gtk3 and would introduce runtime reference via __FILE__.
|
||||
+ ''
|
||||
|
||||
# This file is *included* in gtk3 and would introduce runtime reference via __FILE__.
|
||||
sed '1i#line 1 "${name}/include/glib-2.0/gobject/gobjectnotifyqueue.c"' \
|
||||
-i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c
|
||||
'';
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
, libgsf, libxml2, libxslt, cairo, pango, librsvg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "goffice-0.10.39";
|
||||
name = "goffice-0.10.43";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
|
||||
sha256 = "73f23fbf05f3fa98343208b751db04b31a7ff743c2d828e1a0a130c566f1bc4f";
|
||||
sha256 = "550fceefa74622b8fe57dd0b030003e31db50edf7f87068ff5e146365108b64e";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
@@ -1,22 +1,30 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libsoup, glib }:
|
||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, libsoup, gtk3, glib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gssdp-${version}";
|
||||
version = "1.0.2";
|
||||
|
||||
outputs = [ "out" "bin" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gssdp/1.0/${name}.tar.xz";
|
||||
url = "mirror://gnome/sources/gssdp/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libsoup ];
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||
buildInputs = [ libsoup gtk3 ];
|
||||
propagatedBuildInputs = [ glib ];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-gtk-doc"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GObject-based API for handling resource discovery and announcement over SSDP";
|
||||
homepage = http://www.gupnp.org/;
|
||||
license = licenses.lgpl2;
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,8 @@ let
|
||||
inherit (stdenv.lib) optional;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gst-plugins-bad-1.14.0";
|
||||
name = "gst-plugins-bad-${version}";
|
||||
version = "1.14.2";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Gstreamer Bad Plugins";
|
||||
@@ -53,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
|
||||
sha256 = "17sgzgx1c54k5rzz7ljyz3is0n7yj56k74vv05h8z1gjnsnjnppd";
|
||||
sha256 = "1bqy3dn7q4kdkd4lqznyly8fv854d0hhncv88jk6ai4rf3dbgyil";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gst-plugins-base-1.14.0";
|
||||
name = "gst-plugins-base-${version}";
|
||||
version = "1.14.2";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Base plugins and helper libraries";
|
||||
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
|
||||
sha256 = "0h39bcp7fcd9kgb189lxr8l0hm0almvzpzgpdh1jpq2nzxh4d43y";
|
||||
sha256 = "0z0wy0p0nxxqhsis3n517d6ykldm02g7rca9fhq9kxb9m05yidx4";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gstreamer-1.14.0";
|
||||
name = "gstreamer-${version}";
|
||||
version = "1.14.2";
|
||||
|
||||
meta = with lib ;{
|
||||
description = "Open source multimedia framework";
|
||||
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
|
||||
sha256 = "0vj6k01lp2yva6rfd95fkyng9jdr62gkz0x8d2l81dyly1ki6dpw";
|
||||
sha256 = "029fi3v0vrravysgfwhfkrb3ndg64sjmigbb0iwr7wpkk5r15mjb";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gstreamer-editing-services-1.14.0";
|
||||
name = "gstreamer-editing-services-${version}";
|
||||
version = "1.14.2";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Library for creation of audio/video non-linear editors";
|
||||
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
|
||||
sha256 = "14cdd6y9p4k603hsnyhdjw2igg855gwpx0362jmg8k1gagmr0pwd";
|
||||
sha256 = "0d0zqvgxp51mmffz5vvscsdzqqw9mjsv6bnk6ivg2dxnkv8q1ch5";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@@ -15,7 +15,8 @@ let
|
||||
inherit (stdenv.lib) optional optionals;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gst-plugins-good-1.14.0";
|
||||
name = "gst-plugins-good-${version}";
|
||||
version = "1.14.2";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Gstreamer Good Plugins";
|
||||
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
|
||||
sha256 = "1226s30cf7pqg3fj8shd20l7sp93yw9sqplgxns3m3ajgms3byka";
|
||||
sha256 = "1bfa4n6xhr4v4wga8pv1y00rm1aka498snw6kgszy2w624l5wmy0";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user