Merge remote-tracking branch 'upstream/master' into staging

Use newer vagrant from master
This commit is contained in:
John Ericson 2018-05-23 09:40:37 -04:00
commit 18742471af
68 changed files with 807 additions and 391 deletions

View File

@ -8,16 +8,16 @@
and so on. For instance, the GNU Hello package has a <varname>meta</varname>
declaration like this:
<programlisting>
meta = {
meta = with stdenv.lib; {
description = "A program that produces a familiar, friendly greeting";
longDescription = ''
GNU Hello is a program that prints "Hello, world!" when you run it.
It is fully customizable.
'';
homepage = http://www.gnu.org/software/hello/manual/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
license = licenses.gpl3Plus;
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
</programlisting>
</para>

View File

@ -140,6 +140,11 @@
github = "roosemberth";
name = "Roosembert (Roosemberth) Palacios";
};
Scriptkiddi = {
email = "nixos@scriptkiddi.de";
github = "scriptkiddi";
name = "Fritz Otlinghaus";
};
SShrike = {
email = "severen@shrike.me";
github = "severen";

View File

@ -1,6 +1,14 @@
# This module defines the global list of uids and gids. We keep a
# central list to prevent id collisions.
# IMPORTANT!
# We only add static uids and gids for services where it is not feasible
# to change uids/gids on service start, in example a service with a lot of
# files. Please also check if the service is applicable for systemd's
# DynamicUser option and does not need a uid/gid allocation at all.
# Systemd can also change ownership of service directories using the
# RuntimeDirectory/StateDirectory options.
{ config, pkgs, lib, ... }:
{

View File

@ -51,7 +51,8 @@ in {
serviceConfig = {
User = "slimserver";
PermissionsStartOnly = true;
ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache";
# Issue 40589: Disable broken image/video support (audio still works!)
ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo";
};
};

View File

@ -40,12 +40,12 @@ in {
systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
environment.variables = {
PATH = [
"$HOME/.local/share/flatpak/exports/bin"
"/var/lib/flatpak/exports/bin"
];
environment.profiles = [
"$HOME/.local/share/flatpak/exports"
"/var/lib/flatpak/exports"
];
environment.variables = {
XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals;
};
};

View File

@ -2,7 +2,20 @@
with lib;
let cfg = config.powerManagement.scsiLinkPolicy; in
let
cfg = config.powerManagement.scsiLinkPolicy;
kernel = config.boot.kernelPackages.kernel;
allowedValues = [
"min_power"
"max_performance"
"medium_power"
"med_power_with_dipm"
];
in
{
###### interface
@ -11,10 +24,13 @@ let cfg = config.powerManagement.scsiLinkPolicy; in
powerManagement.scsiLinkPolicy = mkOption {
default = null;
type = types.nullOr (types.enum [ "min_power" "max_performance" "medium_power" ]);
type = types.nullOr (types.enum allowedValues);
description = ''
SCSI link power management policy. The kernel default is
"max_performance".
</para><para>
"med_power_with_dipm" is supported by kernel versions
4.15 and newer.
'';
};
@ -24,6 +40,12 @@ let cfg = config.powerManagement.scsiLinkPolicy; in
###### implementation
config = mkIf (cfg != null) {
assertions = singleton {
assertion = (cfg == "med_power_with_dipm") -> versionAtLeast kernel.version "4.15";
message = "med_power_with_dipm is not supported for kernels older than 4.15";
};
services.udev.extraRules = ''
SUBSYSTEM=="scsi_host", ACTION=="add", KERNEL=="host*", ATTR{link_power_management_policy}="${cfg}"
'';

View File

@ -2,15 +2,15 @@
stdenv.mkDerivation rec {
name = "qsynth-${version}";
version = "0.5.0";
version = "0.5.1";
src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz";
sha256 = "1sr6vrz8z9r99j9xcix86lgcqldragb2ajmq1bnhr58d99sda584";
sha256 = "0kpk1rnhbifbvm4xvw8i0d4ksk78pf505qvg08k89kqkg32494ap";
};
# cmake is looking for qsynth.desktop.in and fails if it doesn't find it
# seems like a bug and can presumable go in the next version after 0.5.0
# seems like a bug and can presumable go in the next version after 0.5.1
postPatch = ''
mv src/qsynth.desktop src/qsynth.desktop.in
'';

View File

@ -8,9 +8,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "boysetsfrog";
repo = "vimpc";
# Using commit-hash as there is not tag available
# https://github.com/boysetsfrog/vimpc/issues/70
rev = "63556da6b94ab27d7e3f542399f5e0975a5812ba";
rev = "v${version}";
sha256 = "1495a702df4nja8mlxq98mkbic2zv88sjiinimf9qddrfb38jxk6";
};

View File

@ -2,33 +2,46 @@
stdenv.mkDerivation rec {
name = "1password-${version}";
version = "0.4";
src = if stdenv.system == "i686-linux" then fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
sha256 = "0mhlqvd3az50gnfil0xlq10855v3bg7yb05j6ndg4h2c551jrq41";
stripRoot = false;
} else fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
sha256 = "15cv8xi4slid9jicdmc5xx2r9ag63wcx1mn7hcgzxbxbhyrvwhyf";
stripRoot = false;
};
version = "0.4.1";
src =
if stdenv.system == "i686-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_386_v${version}.zip";
sha256 = "0mv2m6rm6bdpca8vhyx213bg4kh06jl2sx8q7mnrp22c3f0yzh7f";
stripRoot = false;
}
else if stdenv.system == "x86_64-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_amd64_v${version}.zip";
sha256 = "016h5jcy6jic8j3mvlnpcig9jxs22vj71gh6rrap2q950bzi6fi1";
stripRoot = false;
}
else if stdenv.system == "x86_64-darwin" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_darwin_amd64_v${version}.zip";
sha256 = "1l0bi0f6gd4q19wn3v409gj64wp51mr0xpb09da1fl33rl5fpszb";
stripRoot = false;
}
else throw "Architecture not supported";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D op $out/share/1password/op
# https://github.com/NixOS/patchelf/issues/66#issuecomment-267743051
makeWrapper $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/op \
--argv0 op \
--add-flags $out/share/1password/op
install -D op $out/bin/op
'';
postFixup = stdenv.lib.optionalString stdenv.isLinux ''
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
$out/bin/op
'';
meta = with stdenv.lib; {
description = "1Password command-line tool";
homepage = "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/";
homepage = [
"https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/"
"https://app-updates.agilebits.com/product_history/CLI"
];
maintainers = with maintainers; [ joelburget ];
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@ -10,15 +10,15 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = {
meta = with stdenv.lib; {
description = "A program that produces a familiar, friendly greeting";
longDescription = ''
GNU Hello is a program that prints "Hello, world!" when you run it.
It is fully customizable.
'';
homepage = http://www.gnu.org/software/hello/manual/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
license = licenses.gpl3Plus;
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
name = "redshift-${version}";
version = "1.11";
version = "1.12";
src = fetchFromGitHub {
owner = "jonls";
repo = "redshift";
rev = "v${version}";
sha256 = "0jfi4wqklqw2rm0r2xwalyzir88zkdvqj0z5id0l5v20vsrfiiyj";
sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
};
patches = [

View File

@ -5,18 +5,17 @@
, docopt
, pygobject3
, pyyaml
, ...
}:
buildPythonApplication rec {
name = "udiskie-${version}";
version = "1.7.3";
version = "1.7.4";
src = fetchFromGitHub {
owner = "coldfix";
repo = "udiskie";
rev = version;
sha256 = "1yv1faq81n3vspf3jprcs5v21l2fchy3m3pc7lk8jb0xqlnh60x4";
sha256 = "0r3m8y6ppkl8p1lhr89sfk9v2la1zn0rbmr6hy860j7b22yvnkrn";
};
buildInputs = [

View File

@ -0,0 +1,24 @@
{ lib, buildGoPackage, fetchFromGitHub, ... }:
let version = "0.16.0"; in
buildGoPackage {
name = "helmfile-${version}";
src = fetchFromGitHub {
owner = "roboll";
repo = "helmfile";
rev = "v${version}";
sha256 = "12gxlan89h0r83aaacshh58nd1pi26gx5gkna0ksll9wsfvraj4d";
};
goPackagePath = "github.com/roboll/helmfile";
meta = {
description = "Deploy Kubernetes Helm charts";
homepage = https://github.com/roboll/helmfile;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pneumaticat ];
platforms = lib.platforms.unix;
};
}

View File

@ -104,8 +104,8 @@ in rec {
terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
terraform_0_11 = pluggable (generic {
version = "0.11.6";
sha256 = "17kd3ln1i40qb8fll5918rvgackzf1ibmr7li1p9vky4ki3iwr0l";
version = "0.11.7";
sha256 = "0q5gl8yn1f8fas1v68lz081k88gbmlk7f2xqlwqmh01qpqjxd42q";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
};
meta = with stdenv.lib; {
description = "All-in-one voice and text chat for gamers thats free, secure, and works on both your desktop and phone";
description = "All-in-one cross-platform voice and text chat for gamers";
homepage = https://discordapp.com/;
downloadPage = "https://github.com/crmarsh/discord-linux-bugs";
license = licenses.unfree;

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, gmp, zlib }:
stdenv.mkDerivation rec {
version = "4.2.0";
name = "form-${version}";
# This tarball is released by author, it is not downloaded from tag, so can't use fetchFromGitHub
src = fetchurl {
url = "https://github.com/vermaseren/form/releases/download/v4.2.0/form-4.2.0.tar.gz";
sha256 = "19528aphn4hvm151lyyhd7wz0bp2s3rla8jv6s7d8jwfp5ljzysm";
};
buildInputs = [ gmp zlib ];
meta = with stdenv.lib; {
description = "The FORM project for symbolic manipulation of very big expressions";
homepage = https://www.nikhef.nl/~form/;
license = licenses.gpl3;
maintainers = [ maintainers.veprbl ];
platforms = platforms.unix;
};
}

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "simplescreenrecorder-${version}";
version = "0.3.10";
version = "0.3.11";
src = fetchurl {
url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
sha256 = "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g";
sha256 = "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal";
};
cmakeFlags = [ "-DWITH_QT5=TRUE" ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchFromGitHub, overrideCC, gcc5
, makeWrapper, unzip, which
, curl, tzdata, gdb, darwin
, callPackage
, callPackage, targetPackages
, bootstrapVersion ? false
, version ? "2.079.0"
, dmdSha256 ? "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y"
, druntimeSha256 ? "183pqygj5w4105czs5kswyjn9mrcybx3wmkynz3in0m3ylzzjmvl"
, phobosSha256 ? "0y9i86ggmf41ww2xk2bsrlsv9b1blj5dbyan6q6r6xp8dmgrd79w"
, version ? "2.079.1"
, dmdSha256 ? "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj"
, druntimeSha256 ? "18r8gwvb54ar80j5155wx0qbqq4w56hqmbf6wap20xwijg2rw90g"
, phobosSha256 ? "1x5v1ln51nr8x2vyki864160bakdyq0acmvbfv7jcipaj2w3m9bb"
}:
let
@ -143,6 +143,9 @@ let
+ stdenv.lib.optionalString (stdenv.hostPlatform.isLinux && bootstrapVersion) ''
substituteInPlace ${dmdPath}/root/port.c \
--replace "#include <bits/mathdef.h>" "#include <complex.h>"
substituteInPlace ${dmdPath}/root/port.c \
--replace "#include <bits/nan.h>" "#include <math.h>"
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
@ -198,6 +201,8 @@ let
extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}";
dontStrip = true;
installPhase = ''
cd dmd
mkdir $out
@ -222,13 +227,13 @@ let
cp -r etc $out/include/d2
wrapProgram $out/bin/dmd \
--prefix PATH ":" "${stdenv.cc}/bin" \
--set-default CC "$CC"
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
cd $out/bin
tee dmd.conf << EOF
[Environment]
DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
EOF
'';

View File

@ -24,10 +24,6 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? true
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
@ -46,14 +42,11 @@ let
};
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
@ -75,6 +68,7 @@ let
targetCC = builtins.head toolsForTarget;
in
stdenv.mkDerivation rec {
version = "7.10.3";
name = "${targetPrefix}ghc-${version}";
@ -93,8 +87,6 @@ stdenv.mkDerivation rec {
./relocation.patch
];
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
@ -111,7 +103,6 @@ stdenv.mkDerivation rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
@ -142,8 +133,7 @@ stdenv.mkDerivation rec {
strictDeps = true;
nativeBuildInputs = [
perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42
ghc hscolour
ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour
];
# For building runtime libs

View File

@ -23,10 +23,6 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? true
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
@ -40,14 +36,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
@ -94,8 +87,6 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
@ -112,7 +103,6 @@ stdenv.mkDerivation rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
@ -142,10 +132,7 @@ stdenv.mkDerivation rec {
# Make sure we never relax`$PATH` and hooks support for compatability.
strictDeps = true;
nativeBuildInputs = [
perl sphinx
ghc hscolour
];
nativeBuildInputs = [ ghc perl hscolour sphinx ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -165,7 +152,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -23,11 +23,10 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? true
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
enableShared ?
!(targetPlatform.isDarwin
# On iOS, dynamic linking is not supported
&& (targetPlatform.isAarch64 || targetPlatform.isAarch32))
, # Whether to backport https://phabricator.haskell.org/D4388 for
# deterministic profiling symbol names, at the cost of a slightly
# non-standard GHC API
@ -45,14 +44,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
@ -155,10 +151,7 @@ stdenv.mkDerivation rec {
# Make sure we never relax`$PATH` and hooks support for compatability.
strictDeps = true;
nativeBuildInputs = [
autoconf autoreconfHook automake perl python3 sphinx
ghc alex happy hscolour
];
nativeBuildInputs = [ alex autoconf autoreconfHook automake ghc happy hscolour perl python3 sphinx ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -181,7 +174,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -3,7 +3,7 @@
# build-tools
, bootPkgs, alex, happy
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3
, libffi, libiconv ? null, ncurses
@ -15,21 +15,16 @@
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? false, gmp ? null
enableIntegerSimple ? false, gmp ? null, m4
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? targetPlatform != hostPlatform
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !targetPlatform.isWindows && !targetPlatform.useAndroidPrebuilt
enableShared ? !targetPlatform.useAndroidPrebuilt
, # Whetherto build terminfo.
enableTerminfo ? !targetPlatform.isWindows
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
, version ? "8.4.2"
}:
assert !enableIntegerSimple -> gmp != null;
@ -43,14 +38,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
@ -63,9 +55,9 @@ let
'';
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
libDeps = platform: [ ncurses ]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
toolsForTarget =
if hostPlatform == buildPlatform then
@ -77,7 +69,7 @@ let
in
stdenv.mkDerivation rec {
version = "8.4.2";
inherit version;
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
@ -134,7 +126,7 @@ stdenv.mkDerivation rec {
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
@ -150,10 +142,7 @@ stdenv.mkDerivation rec {
# Make sure we never relax`$PATH` and hooks support for compatability.
strictDeps = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
ghc alex happy
];
nativeBuildInputs = [ ghc perl autoconf automake m4 happy alex python3 ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -175,7 +164,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -3,7 +3,7 @@
# build-tools
, bootPkgs, alex, happy
, autoconf, automake, coreutils, fetchgit, perl, python3, m4
, autoconf, automake, coreutils, fetchgit, perl, python3
, libffi, libiconv ? null, ncurses
@ -22,15 +22,9 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !targetPlatform.isWindows && !targetPlatform.useAndroidPrebuilt
, # Whetherto build terminfo.
enableTerminfo ? !targetPlatform.isWindows
enableShared ? !targetPlatform.useAndroidPrebuilt
, version ? "8.5.20180118"
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
@ -44,14 +38,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
@ -64,9 +55,9 @@ let
'';
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
libDeps = platform: [ ncurses ]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
toolsForTarget =
if hostPlatform == buildPlatform then
@ -132,7 +123,7 @@ stdenv.mkDerivation rec {
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
@ -148,10 +139,7 @@ stdenv.mkDerivation rec {
# Make sure we never relax`$PATH` and hooks support for compatability.
strictDeps = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
ghc alex happy
];
nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -173,7 +161,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, clangWrapSelf,
{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages,
testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents
}:

View File

@ -1,6 +1,6 @@
{ stdenv, fetchgit, fetchurl, cmake, llvm, curl, tzdata
, python, libconfig, lit, gdb, unzip, darwin, bash
, callPackage
, callPackage, makeWrapper, targetPackages
, bootstrapVersion ? false
, version ? "1.8.0"
, ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4"
@ -124,7 +124,7 @@ let
--replace "tzName == \"+VERSION\"" "baseName(tzName) == \"leapseconds\" || tzName == \"+VERSION\""
'';
nativeBuildInputs = [ cmake llvm bootstrapLdc python lit gdb unzip ]
nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ]
++ stdenv.lib.optional (bootstrapVersion) [
libconfig
@ -135,7 +135,7 @@ let
]);
buildInputs = [ curl tzdata stdenv.cc ];
buildInputs = [ curl tzdata ];
preConfigure = ''
cmakeFlagsArray=("-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc"
@ -158,14 +158,20 @@ let
doCheck = true;
checkPhase = ''
# Build and run LDC D unittests.
ctest --output-on-failure -R "ldc2-unittest"
# Run LIT testsuite.
ctest -V -R "lit-tests"
# Run DMD testsuite.
DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
# Build and run LDC D unittests.
ctest --output-on-failure -R "ldc2-unittest"
# Run LIT testsuite.
ctest -V -R "lit-tests"
# Run DMD testsuite.
DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
'';
postInstall = ''
wrapProgram $out/bin/ldc2 \
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
'';
meta = with stdenv.lib; {
description = "The LLVM-based D compiler";
homepage = https://github.com/ldc-developers/ldc;

View File

@ -1,5 +1,7 @@
{ newScope, stdenv, libstdcxxHook, cmake, libxml2, python2, isl, fetchurl
, overrideCC, wrapCC, ccWrapperFun, darwin
, overrideCC, wrapCCWith, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -27,18 +29,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -48,7 +46,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lldb = callPackage ./lldb.nix {};

View File

@ -1,4 +1,8 @@
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun, darwin }:
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
@ -26,18 +30,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -47,7 +47,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lldb = callPackage ./lldb.nix {};

View File

@ -1,4 +1,8 @@
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun, darwin }:
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
@ -26,18 +30,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -47,7 +47,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lldb = callPackage ./lldb.nix {};

View File

@ -1,6 +1,8 @@
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -40,18 +42,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -61,7 +59,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lld = callPackage ./lld.nix {};

View File

@ -1,6 +1,8 @@
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -40,18 +42,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -61,7 +59,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lld = callPackage ./lld.nix {};

View File

@ -1,6 +1,8 @@
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -40,18 +42,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -61,7 +59,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lld = callPackage ./lld.nix {};

View File

@ -0,0 +1,30 @@
{ stdenv, fetchzip, coq, ssreflect, stdpp }:
stdenv.mkDerivation rec {
version = "3.1.0";
name = "coq${coq.coq-version}-iris-${version}";
src = fetchzip {
url = "https://gitlab.mpi-sws.org/FP/iris-coq/-/archive/iris-${version}/iris-coq-iris-${version}.tar.gz";
sha256 = "0ipdb061jj205avxifshxkpyxxqykigmlxk2n5nvxj62gs3rl5j1";
};
buildInputs = [ coq ];
propagatedBuildInputs = [ ssreflect stdpp ];
enableParallelBuilding = true;
installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
meta = {
homepage = "https://gitlab.mpi-sws.org/FP/iris-coq";
description = "The Coq development of the Iris Project";
inherit (coq.meta) platforms;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, coq }:
stdenv.mkDerivation rec {
version = "20171206";
version = "20180316";
name = "coq${coq.coq-version}-tlc-${version}";
src = fetchurl {
url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz";
sha256 = "1wc44qb5zmarafp56gdrbka8gllipqna9cj0a6d99jzb361xg4mf";
sha256 = "0y8h0x9dfn9dm60j1jkxr9i8lbfqd3ff626wrc9v49qxhi50szqq";
};
buildInputs = [ coq ];

View File

@ -448,4 +448,6 @@ self: super: {
sha256 = "1bpsqq80h6nxm04wddgcgyzn0fjfsmhccmqb211jqswv5209znx8";
});
lambdabot-core = appendPatch super.lambdabot-core ./patches/lambdabot-core-ghc-8.4.x-fix.patch;
}

View File

@ -128,7 +128,7 @@ self: super: builtins.intersectAttrs super {
# Prevents needing to add security_tool as a build tool to all of x509-system's
# dependencies.
x509-system = if pkgs.stdenv.targetPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc
then let inherit (pkgs.darwin) security_tool;
in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
postPatch = (drv.postPatch or "") + ''

View File

@ -19,7 +19,6 @@ in
, buildTarget ? ""
, buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
, configureFlags ? []
, buildFlags ? []
, description ? ""
, doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
, doBenchmark ? false
@ -32,7 +31,7 @@ in
, enableSharedExecutables ? false
, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
, enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin
, enableStaticLibraries ? !hostPlatform.isWindows
, enableStaticLibraries ? true
, enableHsc2hsViaAsm ? hostPlatform.isWindows && stdenv.lib.versionAtLeast ghc.version "8.4"
, extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? []
, homepage ? "http://hackage.haskell.org/package/${pname}"
@ -69,10 +68,6 @@ in
assert editedCabalFile != null -> revision != null;
# --enable-static does not work on windows. This is a bug in GHC.
# --enable-static will pass -staticlib to ghc, which only works for mach-o and elf.
assert hostPlatform.isWindows -> enableStaticLibraries == false;
let
inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast
@ -131,8 +126,6 @@ let
crossCabalFlagsString =
stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags);
defaultConfigureFlags = [
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
@ -176,22 +169,22 @@ let
optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
nativeBuildInputs = [ ghc nativeGhc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
setupHaskellDepends ++
buildTools ++ libraryToolDepends ++ executableToolDepends;
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
allPkgconfigDepends ++
=======
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
optionals (allPkgconfigDepends != []) allPkgconfigDepends ++
>>>>>>> upstream/master
optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
systemBuildInputs = stdenv.lib.filter isSystemPkg allBuildInputs;
# When not cross compiling, also include Setup.hs dependencies.
ghcEnv = ghc.withPackages (p:
haskellBuildInputs ++ stdenv.lib.optional (!isCross) setupHaskellDepends);
ghcEnv = ghc.withPackages (p: haskellBuildInputs);
setupCommand = "./Setup";
@ -201,22 +194,6 @@ let
nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
buildPkgDb = ghcName: ''
if [ -d "$p/lib/${ghcName}/package.conf.d" ]; then
cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf $packageConfDir/
continue
fi
if [ -d "$p/include" ]; then
configureFlags+=" --extra-include-dirs=$p/include"
fi
if [ -d "$p/lib" ]; then
configureFlags+=" --extra-lib-dirs=$p/lib"
fi
if [[ -d "$p/Library/Frameworks" ]]; then
configureFlags+=" --extra-framework-dirs=$p/Library/Frameworks"
fi
'';
in
assert allPkgconfigDepends != [] -> pkgconfig != null;
@ -257,37 +234,30 @@ stdenv.mkDerivation ({
echo "Build with ${ghc}."
${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
'' + (optionalString (setupHaskellDepends != []) ''
setupPackageConfDir="$TMPDIR/setup-package.conf.d"
mkdir -p $setupPackageConfDir
'') + ''
packageConfDir="$TMPDIR/package.conf.d"
mkdir -p $packageConfDir
setupCompileFlags="${concatStringsSep " " setupCompileFlags}"
configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags"
''
# We build the Setup.hs on the *build* machine, and as such should only add
# dependencies for the build machine.
#
# pkgs* arrays defined in stdenv/setup.hs
+ (optionalString (setupHaskellDepends != []) ''
for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do
${buildPkgDb nativeGhc.name}
done
${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache
'')
# For normal components
+ ''
# host.*Pkgs defined in stdenv/setup.hs
for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do
${buildPkgDb ghc.name}
if [ -d "$p/lib/${ghc.name}/package.conf.d" ]; then
cp -f "$p/lib/${ghc.name}/package.conf.d/"*.conf $packageConfDir/
continue
fi
if [ -d "$p/include" ]; then
configureFlags+=" --extra-include-dirs=$p/include"
fi
if [ -d "$p/lib" ]; then
configureFlags+=" --extra-lib-dirs=$p/lib"
fi
done
''
# only use the links hack if we're actually building dylibs. otherwise, the
# "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes
# "ln -s $out/lib/links", which tries to recreate the links dir and fails
+ (optionalString (stdenv.isDarwin && (enableSharedLibraries || enableSharedExecutables)) ''
+ (optionalString (stdenv.isDarwin && enableSharedLibraries) ''
# Work around a limit in the macOS Sierra linker on the number of paths
# referenced by any one dynamic library:
#
@ -316,11 +286,7 @@ stdenv.mkDerivation ({
done
echo setupCompileFlags: $setupCompileFlags
${optionalString (setupHaskellDepends != [])
''
echo GHC_PACKAGE_PATH="$setupPackageConfDir:"
GHC_PACKAGE_PATH="$setupPackageConfDir:" ''
}${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
runHook postCompileBuildDriver
'';
@ -348,7 +314,7 @@ stdenv.mkDerivation ({
buildPhase = ''
runHook preBuild
${setupCommand} build ${buildTarget}${crossCabalFlagsString}${buildFlagsString}
${setupCommand} build ${buildTarget}${crossCabalFlagsString}
runHook postBuild
'';

View File

@ -131,8 +131,6 @@ rec {
*/
appendConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ [x]; });
appendBuildFlag = drv: x: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ [x]; });
appendBuildFlags = drv: xs: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ xs; });
/* removeConfigureFlag drv x is a Haskell package like drv, but with
all cabal configure arguments that are equal to x removed.

View File

@ -0,0 +1,15 @@
index 60e134c..246d8ca 100644
--- lambdabot-core/src/Lambdabot/Config.hs
+++ lambdabot-core/src/Lambdabot/Config.hs
@@ -29,9 +29,9 @@ import Data.Typeable
import Data.Generics (everywhere, mkT)
import Language.Haskell.TH
-data Config t where Config :: (Typeable1 k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t
+data Config t where Config :: (Typeable k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t
-cast1 :: (Typeable1 f, Typeable1 g) => f a -> Maybe (g a)
+cast1 :: (Typeable f, Typeable g) => f a -> Maybe (g a)
cast1 = fmap runIdentity . gcast1 . Identity
instance GEq Config where

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "folly-${version}";
version = "2018.04.23.00";
version = "2018.05.21.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
sha256 = "0wfp4pxi71bi3bz3h5jxsvdd5wa8q6wqdgsx0jvyvaiiy7v884sv";
sha256 = "0x8qa0g0rj4bmy5cra7f0ch0srq34d8d04f1c59q93xd6ggkr52w";
};
nativeBuildInputs = [ autoreconfHook python pkgconfig ];

View File

@ -17,11 +17,11 @@ let inherit (stdenv.lib) optional; in
stdenv.mkDerivation rec {
name = "nghttp2-${version}";
version = "1.24.0";
version = "1.32.0";
src = fetchurl {
url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
sha256 = "18ys6p39yvm9wjjzhhlw35c9m8f5gf4dk9jbshibj19q4js1pnv9";
sha256 = "0jlndbp4bnyvdg8b59pznrzz0bvwb9nmag7zgcflg51lm1pq2q06";
};
outputs = [ "bin" "out" "dev" "lib" ];

View File

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild, decompress }:
stdenv.mkDerivation rec {
version = "20171028";
name = "ocaml${ocaml.version}-imagelib-${version}";
src = fetchFromGitHub {
owner = "rlepigre";
repo = "ocaml-imagelib";
rev = "ocaml-imagelib_${version}";
sha256 = "1frkrgcrv4ybdmqcfxpfsywx0hm1arxgxp32n8kzky6qip1g0zxf";
};
buildInputs = [ which ocaml findlib ocamlbuild ];
propagatedBuildInputs = [ decompress ];
createFindlibDestdir = true;
meta = {
description = "Image formats such as PNG and PPM in OCaml";
license = stdenv.lib.licenses.lgpl3;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (src.meta) homepage;
inherit (ocaml.meta) platforms;
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
, cryptography
, bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl }:
buildPythonPackage rec {
pname = "asyncssh";
version = "1.13.0";
disabled = pythonOlder "3.4";
src = fetchPypi {
inherit pname version;
sha256 = "1n75z4dvhzymd4n610dpwlq7wl8cyz1gxx9m7iq92pzhss5vgpfd";
};
propagatedBuildInputs = [
bcrypt
cryptography
gssapi
libnacl
libsodium
nettle
pyopenssl
];
# Disables windows specific test (specifically the GSSAPI wrapper for Windows)
postPatch = ''
rm ./tests/sspi_stub.py
'';
meta = with stdenv.lib; {
description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework";
homepage = https://pypi.python.org/pypi/asyncssh;
license = licenses.epl10;
maintainers = with maintainers; [ worldofpeace ];
};
}

View File

@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
description = "unix-like reverse engineering framework and commandline tools";
homepage = http://radare.org/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [raskin makefu];
maintainers = with stdenv.lib.maintainers; [raskin makefu mic92];
platforms = with stdenv.lib.platforms; linux;
inherit version;
};

View File

@ -1,26 +1,22 @@
{ stdenv, binutils, cmake, fetchFromGitHub }:
{ stdenv, binutils, cmake, zlib, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "2017-10-05";
version = "2018-05-22";
name = "bloaty-${version}";
src = fetchFromGitHub {
owner = "google";
repo = "bloaty";
rev = "e47b21b01ceecf001e1965e9da249d48d86a1749";
sha256 = "1il3z49hi0b07agjwr5fg1wzysfxsamfv1snvlp33vrlyl1m7cbm";
rev = "054788b091ccfd43b05b9817062139145096d440";
sha256 = "0pmv66137ipzsjjdz004n61pz3aipjhh3b0w0y1406clqpwkvpjm";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
enableParallelBuilding = true;
buildInputs = [ zlib ];
preConfigure = ''
substituteInPlace src/bloaty.cc \
--replace "c++filt" \
"${binutils.bintools}/bin/c++filt"
'';
enableParallelBuilding = true;
doCheck = true;

View File

@ -4,7 +4,7 @@ let
dubBuild = stdenv.mkDerivation rec {
name = "dubBuild-${version}";
version = "1.8.0";
version = "1.8.1";
enableParallelBuilding = true;
@ -12,7 +12,7 @@ let
owner = "dlang";
repo = "dub";
rev = "v${version}";
sha256 = "0788d375sc6xdak9x6xclkkz243lb7di68yxfvl4v0n178mi22bk";
sha256 = "16r7x4jsfv5fjssvs6mwj8ymr6fjpvbkjhpr4f4368sjr5iyfad6";
};
postUnpack = ''
@ -75,6 +75,7 @@ let
# file under ../etc relative to the dub location.
cp ${dubBuild}/bin/dub bin/
export DUB=$NIX_BUILD_TOP/source/bin/dub
export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
export DC=${dmd.out}/bin/dmd
export HOME=$TMP
./test/run-unittest.sh

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
name = "dtools-${version}";
version = "2.079.0";
version = "2.079.1";
srcs = [
(fetchFromGitHub {
owner = "dlang";
repo = "dmd";
rev = "v${version}";
sha256 = "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y";
sha256 = "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj";
name = "dmd";
})
(fetchFromGitHub {

View File

@ -1,9 +1,17 @@
GIT
remote: https://github.com/hashicorp/vagrant.git
revision: 6a6805f284dff05207e359acdfb1ca8443b78751
tag: v2.0.4
remote: https://github.com/hashicorp/vagrant-spec.git
revision: 9413ab298407114528766efefd1fb1ff24589636
specs:
vagrant (2.0.4)
vagrant-spec (0.0.1)
childprocess (~> 0.6.0)
log4r (~> 1.1.9)
rspec (~> 3.5.0)
thor (~> 0.18.1)
PATH
remote: .
specs:
vagrant (2.1.1)
childprocess (~> 0.6.0)
erubis (~> 2.7.0)
hashicorp-checkpoint (~> 0.1.5)
@ -26,12 +34,18 @@ GIT
GEM
remote: https://rubygems.org/
specs:
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
builder (3.2.3)
childprocess (0.6.3)
ffi (~> 1.0, >= 1.0.11)
crack (0.4.3)
safe_yaml (~> 1.0.0)
diff-lcs (1.3)
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
erubis (2.7.0)
fake_ftp (0.1.1)
ffi (1.9.23)
ffi-win32-extensions (1.0.3)
ffi
@ -39,6 +53,7 @@ GEM
ffi (>= 1.0.1)
gyoku (1.3.1)
builder (>= 2.1.2)
hashdiff (0.3.7)
hashicorp-checkpoint (0.1.5)
http-cookie (1.0.3)
domain_name (~> 0.5)
@ -64,6 +79,8 @@ GEM
net-ssh (4.2.0)
netrc (0.11.0)
nori (2.6.0)
public_suffix (3.0.1)
rake (12.0.0)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
@ -73,13 +90,35 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-core (3.5.4)
rspec-support (~> 3.5.0)
rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-its (1.2.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-support (3.5.0)
ruby_dep (1.3.1)
rubyntlm (0.6.2)
rubyzip (1.2.1)
safe_yaml (1.0.4)
thor (0.18.1)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.5)
wdm (0.1.1)
webmock (2.3.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
win32-file (0.8.1)
ffi
ffi-win32-extensions
@ -112,7 +151,13 @@ PLATFORMS
ruby
DEPENDENCIES
fake_ftp (~> 0.1.1)
rake (~> 12.0.0)
rspec (~> 3.5.0)
rspec-its (~> 1.2.0)
vagrant!
vagrant-spec!
webmock (~> 2.3.1)
BUNDLED WITH
1.16.1
1.14.6

View File

@ -1,29 +1,36 @@
{ lib, buildRubyGem, bundlerEnv, ruby, libarchive }:
# To update vagrant, visit the Gemfile and re-run bundix.
{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
let
gemset = import ./gemset.nix;
inherit (gemset.vagrant) version;
version = "2.1.1";
url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
sha256 = "0kgsb33f3wh6x4450x74wri6z78ky92sfrv7ba7h7zmxsadb6m4b";
deps = bundlerEnv rec {
name = "vagrant-${version}";
name = "${pname}-${version}";
pname = "vagrant";
inherit version;
inherit ruby;
gemdir = ./.;
gemset = lib.recursiveUpdate (import ./gemset.nix) {
vagrant = {
source = {
type = "url";
inherit url sha256;
};
inherit version;
};
};
};
in buildRubyGem rec {
name = "${gemName}-${version}";
gemName = "vagrant";
inherit version;
doInstallCheck = true;
dontBuild = false;
inherit (deps.gems.vagrant) src;
src = fetchurl { inherit url sha256; };
patches = [
./unofficial-installation-nowarn.patch

View File

@ -1,4 +1,13 @@
{
addressable = {
dependencies = ["public_suffix"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
type = "gem";
};
version = "2.5.2";
};
builder = {
source = {
remotes = ["https://rubygems.org"];
@ -16,6 +25,23 @@
};
version = "0.6.3";
};
crack = {
dependencies = ["safe_yaml"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
type = "gem";
};
version = "0.4.3";
};
diff-lcs = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
type = "gem";
};
version = "1.3";
};
domain_name = {
dependencies = ["unf"];
source = {
@ -33,6 +59,14 @@
};
version = "2.7.0";
};
fake_ftp = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rn7lxdk3sqc2i4v2c5k25b9ca1qnkdf32nv04y760aml9mszwf7";
type = "gem";
};
version = "0.1.1";
};
ffi = {
source = {
remotes = ["https://rubygems.org"];
@ -68,6 +102,14 @@
};
version = "1.3.1";
};
hashdiff = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9";
type = "gem";
};
version = "0.3.7";
};
hashicorp-checkpoint = {
source = {
remotes = ["https://rubygems.org"];
@ -202,6 +244,22 @@
};
version = "2.6.0";
};
public_suffix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mvzd9ycjw8ydb9qy3daq3kdzqs2vpqvac4dqss6ckk4rfcjc637";
type = "gem";
};
version = "3.0.1";
};
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
type = "gem";
};
version = "12.0.0";
};
rb-fsevent = {
source = {
remotes = ["https://rubygems.org"];
@ -237,6 +295,59 @@
};
version = "2.0.2";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
type = "gem";
};
version = "3.5.0";
};
rspec-core = {
dependencies = ["rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i";
type = "gem";
};
version = "3.5.4";
};
rspec-expectations = {
dependencies = ["diff-lcs" "rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
type = "gem";
};
version = "3.5.0";
};
rspec-its = {
dependencies = ["rspec-core" "rspec-expectations"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3";
type = "gem";
};
version = "1.2.0";
};
rspec-mocks = {
dependencies = ["diff-lcs" "rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
type = "gem";
};
version = "3.5.0";
};
rspec-support = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
type = "gem";
};
version = "3.5.0";
};
ruby_dep = {
source = {
remotes = ["https://rubygems.org"];
@ -261,6 +372,22 @@
};
version = "1.2.1";
};
safe_yaml = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
type = "gem";
};
version = "1.0.4";
};
thor = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3";
type = "gem";
};
version = "0.18.1";
};
unf = {
dependencies = ["unf_ext"];
source = {
@ -280,14 +407,17 @@
};
vagrant = {
dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "win32-file" "win32-file-security" "winrm" "winrm-elevated" "winrm-fs"];
};
vagrant-spec = {
dependencies = ["childprocess" "log4r" "rspec" "thor"];
source = {
fetchSubmodules = false;
rev = "6a6805f284dff05207e359acdfb1ca8443b78751";
sha256 = "07c7r4xk0md9hkbcnij0kp7acxz0li9ak1ah7lmh52j10gq4cjmw";
rev = "9413ab298407114528766efefd1fb1ff24589636";
sha256 = "1z77m3p6x82hipa7y4i71zafy0rdfajw2vhqdxczjmrlwp0pvisl";
type = "git";
url = "https://github.com/hashicorp/vagrant.git";
url = "https://github.com/hashicorp/vagrant-spec.git";
};
version = "2.0.4";
version = "0.0.1";
};
wdm = {
source = {
@ -297,6 +427,15 @@
};
version = "0.1.1";
};
webmock = {
dependencies = ["addressable" "crack" "hashdiff"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5";
type = "gem";
};
version = "2.3.2";
};
win32-file = {
dependencies = ["ffi" "ffi-win32-extensions" "win32-file-stat"];
source = {

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool_2, autoreconfHook
, llvm, libcxx, libcxxabi, clang, libuuid
, libobjc ? null, maloader ? null, xctoolchain ? null
, libcxx, libcxxabi, libuuid
, libobjc ? null, maloader ? null
, hostPlatform, targetPlatform
, enableDumpNormalizedLibArgs ? false
}:
@ -22,7 +22,7 @@ let
in
# Non-Darwin alternatives
assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
assert (!hostPlatform.isDarwin) -> maloader != null;
assert enableDumpNormalizedLibArgs -> (!useOld);
@ -57,8 +57,6 @@ let
autoreconfHook
];
buildInputs = [ libuuid ] ++
# Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)
stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++
stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];
patches = [
@ -80,9 +78,6 @@ let
# TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [
"CXXFLAGS=-I${libcxx}/include/c++/v1"
];
postPatch = ''
sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp
@ -110,8 +105,6 @@ let
EOF
cd cctools
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' autogen.sh
'';
# TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather
@ -126,21 +119,12 @@ let
popd
'';
postInstall =
if hostPlatform.isDarwin
then ''
cat >$out/bin/dsymutil << EOF
#!${stdenv.shell}
EOF
chmod +x $out/bin/dsymutil
''
else ''
for tool in dyldinfo dwarfdump dsymutil; do
${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${targetPlatform.config}-$tool" \
--add-flags "${xctoolchain}/bin/$tool"
ln -s "$out/bin/${targetPlatform.config}-$tool" "$out/bin/$tool"
done
'';
postInstall = ''
cat >$out/bin/dsymutil << EOF
#!${stdenv.shell}
EOF
chmod +x $out/bin/dsymutil
'';
passthru = {
inherit targetPrefix;

View File

@ -25,11 +25,11 @@ in stdenv.mkDerivation rec {
name = "postfix-${version}";
version = "3.3.0";
version = "3.3.1";
src = fetchurl {
url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
sha256 = "0fggpbsc9jkrbaw9hy0zw9h32plmfvcv0x860pbih0g346byhhkr";
sha256 = "0fvymsklp32njsv0ngc1f45j01kcy61r5in99g5palibwkd19xal";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,5 +1,5 @@
{ stdenv, buildPerlPackage, fetchurl
, perl, perlPackages, fetchpatch }:
{ stdenv, buildPerlPackage, fetchurl, fetchpatch, makeWrapper
, perl, perlPackages, flac, faad2, sox, lame, monkeysAudio, wavpack }:
buildPerlPackage rec {
name = "slimserver-${version}";
@ -16,6 +16,7 @@ buildPerlPackage rec {
} ) ];
buildInputs = [
makeWrapper
perl
perlPackages.AnyEvent
perlPackages.AudioScan
@ -75,17 +76,19 @@ buildPerlPackage rec {
preConfigurePhase = "";
buildPhase = "
buildPhase = ''
mv lib tmp
mkdir -p lib/perl5/site_perl
mv CPAN_used/* lib/perl5/site_perl
cp -rf tmp/* lib/perl5/site_perl
";
'';
doCheck = false;
installPhase = ''
cp -r . $out
wrapProgram $out/slimserver.pl \
--prefix PATH : "${stdenv.lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}"
'';
outputs = [ "out" ];

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "pg_repack-${version}";
version = "1.4.2";
version = "1.4.3";
buildInputs = [ postgresql openssl zlib readline ];
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "reorg";
repo = "pg_repack";
rev = "refs/tags/ver_${version}";
sha256 = "1yv5x7dgiv1miazbngkrkdbc2zpwklj6nlligghjvv83bcl8969q";
sha256 = "1mmd22nfaxjwnbl3i95f3ivmjvfqwdflgaczlg3129dbpwg265xr";
};
installPhase = ''

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "zsh-autosuggestions-${version}";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
owner = "zsh-users";
repo = "zsh-autosuggestions";
rev = "v${version}";
sha256 = "1yvbhfaaqzhmjmwjh75i1p4mrqp3ksw74bp8lrll81c6zf8bmvig";
sha256 = "117m4jk3lgh98k699v00pg554qblpr4pbfvgs0qrgygfx1n1bpl4";
};
buildInputs = [ zsh ];

View File

@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, diffutils, gd, pkgconfig }:
stdenv.mkDerivation rec {
name = "s2png-${version}";
version = "0.7.2";
src = fetchFromGitHub {
owner = "dbohdan";
repo = "s2png";
rev = "v${version}";
sha256 = "0y3crfm0jqprgxamlly713cka2x1bp6z63p1lw9wh4wc37kpira6";
};
buildInputs = [ diffutils gd pkgconfig ];
installFlags = [ "prefix=" "DESTDIR=$(out)" ];
meta = {
homepage = https://github.com/dbohdan/s2png/;
description = "Store any data in PNG images";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.dbohdan ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -7,12 +7,12 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "calamares";
version = "3.1.12";
version = "3.2.0";
# release including submodule
src = fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.gz";
sha256 = "0k59wnch2gmbsr5dh5swbjp4rkf5c1ml0n4sxf196wdasraismc6";
sha256 = "1i5q3hffjqi1id9kv8sixhddxd90d5qqmbc7gf5vf9m3c54pln64";
};
buildInputs = [

View File

@ -4,13 +4,13 @@
# There is also cdebootstrap now. Is that easier to maintain?
stdenv.mkDerivation rec {
name = "debootstrap-${version}";
version = "1.0.99";
version = "1.0.100";
src = fetchurl {
# git clone git://git.debian.org/d-i/debootstrap.git
# I'd like to use the source. However it's lacking the lanny script ? (still true?)
url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
sha256 = "1plw53zghiykddj77s5jk10ncx82cgrkk798p909yydhcghnvcsb";
sha256 = "0jmwf26sq4bkdz6wi0dcjsrfkg8c8k3xdhi11xp6cdrw6qpw82ws";
};
buildInputs = [ dpkg gettext gawk perl ];

View File

@ -0,0 +1,50 @@
{ stdenv, fetchurl, unzip, lib, file, licenseFile, optgamsFile}:
assert licenseFile != null;
stdenv.mkDerivation rec {
version = "25.0.2";
name = "gams-${version}";
src = fetchurl {
url = "https://d37drm4t2jghv5.cloudfront.net/distributions/${version}/linux/linux_x64_64_sfx.exe";
sha256 = "4f95389579f33ff7c2586838a2c19021aa0746279555cbb51aa6e0efd09bd297";
};
unpackCmd = "unzip $src";
buildInputs = [ unzip file ];
dontBuild = true;
installPhase = ''
mkdir -p "$out/bin" "$out/share/gams"
cp -a * "$out/share/gams"
cp ${licenseFile} $out/share/gamslice.txt
'' + stdenv.lib.optionalString (optgamsFile != null) ''
cp ${optgamsFile} $out/share/optgams.def
ln -s $out/share/gams/optgams.def $out/bin/optgams.def
'';
postFixup = ''
for f in $out/share/gams/*; do
if [[ -x $f ]] && [[ -f $f ]] && [[ ! $f =~ .*\.so$ ]]; then
if patchelf \
--set-rpath "$out/share/gams" \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $f; then
ln -s $f $out/bin/$(basename $f)
fi
fi
done
'';
meta = with stdenv.lib;{
description = "General Algebraic Modeling System";
longDescription = ''
The General Algebraic Modeling System is a high-level modeling system for mathematical optimization.
GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems.
'';
homepage = https://www.gams.com/;
license = licenses.unfree;
maintainers = [ maintainers.Scriptkiddi ];
platforms = platforms.linux;
};
}

View File

@ -5,13 +5,13 @@
buildPythonApplication rec {
pname = "thefuck";
version = "3.26";
version = "3.27";
src = fetchFromGitHub {
owner = "nvbn";
repo = "${pname}";
rev = version;
sha256 = "0iyihbp94z38xajy8yfbn3ky7irnam1zwyswg34cw4kkfgggrwhz";
sha256 = "1lsg0g9lnpj2nidggm16b7jm4xzhg0dgy81crfzny62hah1zk0pj";
};
propagatedBuildInputs = [ colorama decorator psutil pyte six ];

View File

@ -13,7 +13,7 @@ in
stdenv.mkDerivation rec {
name = "tmux-${version}";
version = "2.6";
version = "2.7";
outputs = [ "out" "man" ];
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
owner = "tmux";
repo = "tmux";
rev = version;
sha256 = "0605y0nwfmf0mnq075vk80897c2cvhxxvxinqq7hvrpjf2ph5mww";
sha256 = "1yr4l8ckd67c3id4vrbpha91xxpdfpw0cpbr3v81lam0m7k4rgba";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];

View File

@ -0,0 +1,24 @@
{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, cmake, curl, libiconv, darwin }:
rustPlatform.buildRustPackage rec {
name = "cargo-tree-${version}";
version = "0.18.0";
src = fetchFromGitHub {
owner = "sfackler";
repo = "cargo-tree";
rev = "v${version}";
sha256 = "0lq14w11a4zl0rvv7rsd79k51dwk3w78fbsi6klkqknad02qmx3r";
};
cargoSha256 = "0zi4qbadlx4l6zhb0f892ic3mdmyjjjzrirks18pl6qrn3dgny1x";
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
meta = with lib; {
description = "A cargo subcommand that visualizes a crate's dependency graph in a tree-like format";
license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ jD91mZM2 ];
};
}

View File

@ -5,9 +5,9 @@
# Then copy the URL to the tarball.
callPackage ./generic.nix (rec {
version = "1.6pre2276_9203440";
version = "1.6.1pre2622_f10999a";
src = fetchurl {
url = "https://hydra.nixos.org/build/64518294/download/2/nixops-${version}.tar.bz2";
sha256 = "1cl0869nl67fr5xk0jl9cvqbmma7d4vz5xbg56jpl7casrr3i51x";
url = "https://hydra.nixos.org/build/73716350/download/2/nixops-${version}.tar.bz2";
sha256 = "08886b6vxhjc3cp0ikxp920zap7wp6r92763fp785rvxrmb00rbd";
};
})

View File

@ -646,6 +646,11 @@ with pkgs;
genymotion = callPackage ../development/mobile/genymotion { };
gams = callPackage ../tools/misc/gams {
licenseFile = config.gams.licenseFile or null;
optgamsFile = config.gams.optgamsFile or null;
};
git-fire = callPackage ../tools/misc/git-fire { };
gitless = callPackage ../applications/version-management/gitless/default.nix { };
@ -1389,6 +1394,8 @@ with pkgs;
parallel-rust = callPackage ../tools/misc/parallel-rust { };
s2png = callPackage ../tools/graphics/s2png { };
socklog = callPackage ../tools/system/socklog { };
staccato = callPackage ../tools/text/staccato { };
@ -3431,7 +3438,7 @@ with pkgs;
nixnote2 = libsForQt5.callPackage ../applications/misc/nixnote2 { };
nodejs = hiPrio nodejs-6_x;
nodejs = hiPrio nodejs-8_x;
nodejs-slim = nodejs-slim-6_x;
@ -6046,18 +6053,6 @@ with pkgs;
clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { };
clangSelf = clangWrapSelf llvmPackagesSelf.clang;
clangWrapSelf = build: ccWrapperFun {
cc = build;
isClang = true;
inherit stdenvNoCC;
inherit (targetPackages.stdenv.cc) bintools libc;
extraPackages = [ libcxx libcxxabi ];
nativeTools = false;
nativeLibc = false;
};
#Use this instead of stdenv to build with clang
clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv;
clang-sierraHack-stdenv = overrideCC stdenv clang-sierraHack;
@ -6692,10 +6687,6 @@ with pkgs;
llvmPackages = recurseIntoAttrs llvmPackages_5;
llvmPackagesSelf = llvmPackages_34.override {
stdenv = libcxxStdenv;
};
llvmPackages_34 = callPackage ../development/compilers/llvm/3.4 ({
isl = isl_0_12;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
@ -6710,30 +6701,40 @@ with pkgs;
llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmPackages = buildPackages.llvmPackages_37;
targetLlvmPackages = targetPackages.llvmPackages_37;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6;
});
llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmPackages = buildPackages.llvmPackages_38;
targetLlvmPackages = targetPackages.llvmPackages_38;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6;
});
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmPackages = buildPackages.llvmPackages_39;
targetLlvmPackages = targetPackages.llvmPackages_39;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6;
});
llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmPackages = buildPackages.llvmPackages_4;
targetLlvmPackages = targetPackages.llvmPackages_4;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6;
});
llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmPackages = buildPackages.llvmPackages_5;
targetLlvmPackages = targetPackages.llvmPackages_5;
} // stdenv.lib.optionalAttrs stdenv.isDarwin {
cmake = cmake.override {
isBootstrap = true;
@ -6747,6 +6748,8 @@ with pkgs;
llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({
inherit (stdenvAdapters) overrideCC;
buildLlvmPackages = buildPackages.llvmPackages_6;
targetLlvmPackages = targetPackages.llvmPackages_6;
} // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
@ -6904,6 +6907,7 @@ with pkgs;
cargo-edit = callPackage ../tools/package-management/cargo-edit { };
cargo-release = callPackage ../tools/package-management/cargo-release { };
cargo-tree = callPackage ../tools/package-management/cargo-tree { };
cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
@ -6999,42 +7003,46 @@ with pkgs;
wla-dx = callPackage ../development/compilers/wla-dx { };
wrapCCWith = { name ? "", cc, bintools, libc, extraBuildCommands ? "" }:
ccWrapperFun rec {
wrapCCWith =
{ cc
, # This should be the only bintools runtime dep with this sort of logic. The
# Others should instead delegate to the next stage's choice with
# `targetPackages.stdenv.cc.bintools`. This one is different just to
# provide the default choice, avoiding infinite recursion.
bintools ? if targetPlatform.isDarwin then darwin.binutils else binutils
, libc ? bintools.libc
, ...
} @ extraArgs:
callPackage ../build-support/cc-wrapper (let self = {
nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false;
nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
noLibc = !nativeLibc && (libc == null);
noLibc = !self.nativeLibc && (self.libc == null);
isGNU = cc.isGNU or false;
isClang = cc.isClang or false;
inherit name cc bintools libc extraBuildCommands;
};
ccWrapperFun = callPackage ../build-support/cc-wrapper;
bintoolsWrapperFun = callPackage ../build-support/bintools-wrapper;
inherit cc bintools libc;
} // extraArgs; in self);
wrapCC = cc: wrapCCWith {
name = lib.optionalString (targetPlatform != hostPlatform) "gcc-cross-wrapper";
inherit cc;
# This should be the only bintools runtime dep with this sort of logic. The
# Others should instead delegate to the next stage's choice with
# `targetPackages.stdenv.cc.bintools`. This one is different just to
# provide the default choice, avoiding infinite recursion.
bintools = if targetPlatform.isDarwin then darwin.binutils else binutils;
libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc;
};
wrapBintoolsWith = { bintools, libc, extraBuildCommands ? "" }: bintoolsWrapperFun {
wrapBintoolsWith =
{ bintools
, libc ? if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc
, ...
} @ extraArgs:
callPackage ../build-support/bintools-wrapper (let self = {
nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false;
nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
noLibc = (libc == null);
noLibc = (self.libc == null);
inherit bintools libc extraBuildCommands;
};
inherit bintools libc;
} // extraArgs; in self);
# prolog
yap = callPackage ../development/compilers/yap { };
@ -7635,11 +7643,9 @@ with pkgs;
noSysDirs = (targetPlatform != buildPlatform) || noSysDirs;
};
binutils = wrapBintoolsWith {
libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc;
bintools = binutils-unwrapped;
};
binutils_nogold = lowPrio (wrapBintoolsWith {
libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc;
bintools = binutils-unwrapped.override {
gold = false;
};
@ -20318,6 +20324,8 @@ with pkgs;
texinfo = texinfo4;
};
form = callPackage ../applications/science/math/form { };
fricas = callPackage ../applications/science/math/fricas { };
gap = callPackage ../applications/science/math/gap { };
@ -20686,6 +20694,8 @@ with pkgs;
helm = callPackage ../applications/audio/helm { };
helmfile = callPackage ../applications/networking/cluster/helmfile { };
heptio-ark = callPackage ../applications/networking/cluster/heptio-ark { };
hplip = callPackage ../misc/drivers/hplip { };

View File

@ -29,6 +29,7 @@ let
heq = callPackage ../development/coq-modules/heq {};
HoTT = callPackage ../development/coq-modules/HoTT {};
interval = callPackage ../development/coq-modules/interval {};
iris = callPackage ../development/coq-modules/iris {};
math-classes = callPackage ../development/coq-modules/math-classes { };
mathcomp = callPackage ../development/coq-modules/mathcomp { };
metalib = callPackage ../development/coq-modules/metalib { };

View File

@ -29,7 +29,6 @@ in
inherit (darwin) libobjc maloader;
stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv;
libcxxabi = pkgs.libcxxabi;
xctoolchain = darwin.xcode.toolchain;
};
cf-private = callPackage ../os-specific/darwin/cf-private {

View File

@ -269,6 +269,8 @@ let
higlo = callPackage ../development/ocaml-modules/higlo { };
imagelib = callPackage ../development/ocaml-modules/imagelib { };
inotify = callPackage ../development/ocaml-modules/inotify { };
integers = callPackage ../development/ocaml-modules/integers { };

View File

@ -12063,6 +12063,20 @@ let self = _self // overrides; _self = with self; {
};
};
ParsePlainConfig = buildPerlPackage rec {
name = "Parse-PlainConfig-3.05";
src = fetchurl {
url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/${name}.tar.gz";
sha256 = "6b78a8552398b0d2d7063505c93b3cfed0432c5b2cf6e00b8e51febf411c1efa";
};
propagatedBuildInputs = [ ClassEHierarchy Paranoid ];
meta = {
description = "Parser/Generator of human-readable conf files";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
maintainers = [ maintainers.limeytexan ];
};
};
ParsePMFile = buildPerlPackage rec {
name = "Parse-PMFile-0.41";
src = fetchurl {

View File

@ -547,6 +547,8 @@ in {
asyncio = callPackage ../development/python-modules/asyncio {};
asyncssh = callPackage ../development/python-modules/asyncssh { };
python-fontconfig = callPackage ../development/python-modules/python-fontconfig { };
funcsigs = callPackage ../development/python-modules/funcsigs { };
@ -16337,8 +16339,8 @@ EOF
};
};
# For backwards compatibility. Please use nixpkgs.udiskie instead.
udiskie = toPythonModule (pkgs.udiskie.override { pythonPackages = self; });
# added 2018-05-23, can be removed once 18.09 is branched off
udiskie = throw "pythonPackages.udiskie has been replaced by udiskie";
# Should be bumped along with EFL!
pythonefl = buildPythonPackage rec {