Merge branch 'master' into staging

Hydra: ?compare=1427817
This commit is contained in:
Vladimír Čunát 2018-01-20 10:05:27 +01:00
commit 94f4857bc5
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
56 changed files with 4721 additions and 860 deletions

10
.github/CODEOWNERS vendored
View File

@ -12,17 +12,17 @@
# Libraries
/lib @edolstra @nbp
/lib/systems @edolstra @nbp @ericson2314
/lib/systems @nbp @ericson2314
# Nixpkgs Internals
/default.nix @nbp
/pkgs/top-level/default.nix @nbp @Ericson2314
/pkgs/top-level/impure.nix @nbp @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314
/pkgs/stdenv @edolstra
/pkgs/build-support/cc-wrapper @edolstra @Ericson2314
/pkgs/build-support/bintools-wrapper @edolstra @Ericson2314
/pkgs/build-support/setup-hooks @edolstra @Ericson2314
/pkgs/stdenv
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
/pkgs/build-support/setup-hooks @Ericson2314
# NixOS Internals
/nixos/default.nix @nbp

View File

@ -4,11 +4,13 @@
# Usage $0 debian-patches.txt debian-patches.nix
# An example input and output files can be found in applications/graphics/xara/
DEB_URL=http://patch-tracker.debian.org/patch/series/dl
DEB_URL=https://sources.debian.org/data/main
declare -a deb_patches
mapfile -t deb_patches < $1
prefix="${DEB_URL}/${deb_patches[0]}"
# First letter
deb_prefix="${deb_patches[0]:0:1}"
prefix="${DEB_URL}/${deb_prefix}/${deb_patches[0]}/debian/patches"
if [[ -n "$2" ]]; then
exec 1> $2

View File

@ -200,6 +200,7 @@
./services/desktops/dleyna-server.nix
./services/desktops/geoclue2.nix
./services/desktops/gnome3/at-spi2-core.nix
./services/desktops/gnome3/chrome-gnome-shell.nix
./services/desktops/gnome3/evolution-data-server.nix
./services/desktops/gnome3/gnome-disks.nix
./services/desktops/gnome3/gnome-documents.nix

View File

@ -0,0 +1,27 @@
# Chrome GNOME Shell native host connector.
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
services.gnome3.chrome-gnome-shell.enable = mkEnableOption ''
Chrome GNOME Shell native host connector, a DBus service
allowing to install GNOME Shell extensions from a web browser.
'';
};
###### implementation
config = mkIf config.services.gnome3.chrome-gnome-shell.enable {
environment.etc = {
"chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
"opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
};
environment.systemPackages = [ pkgs.chrome-gnome-shell ];
services.dbus.packages = [ pkgs.chrome-gnome-shell ];
};
}

View File

@ -5,18 +5,25 @@ with lib;
let
cfg = config.services.netdata;
configFile = pkgs.writeText "netdata.conf" cfg.configText;
wrappedPlugins = pkgs.runCommand "wrapped-plugins" {} ''
mkdir -p $out/libexec/netdata/plugins.d
ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
'';
localConfig = {
global = {
"plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
};
};
mkConfig = generators.toINI {} (recursiveUpdate localConfig cfg.config);
configFile = pkgs.writeText "netdata.conf" (if cfg.configText != null then cfg.configText else mkConfig);
defaultUser = "netdata";
in {
options = {
services.netdata = {
enable = mkOption {
default = false;
type = types.bool;
description = "Whether to enable netdata monitoring.";
};
enable = mkEnableOption "netdata";
user = mkOption {
type = types.str;
@ -31,9 +38,9 @@ in {
};
configText = mkOption {
type = types.lines;
default = "";
description = "netdata.conf configuration.";
type = types.nullOr types.lines;
description = "Verbatim netdata.conf, cannot be combined with config.";
default = null;
example = ''
[global]
debug log = syslog
@ -42,11 +49,29 @@ in {
'';
};
config = mkOption {
type = types.attrsOf types.attrs;
default = {};
description = "netdata.conf configuration as nix attributes. cannot be combined with configText.";
example = literalExample ''
global = {
"debug log" = "syslog";
"access log" = "syslog";
"error log" = "syslog";
};
'';
};
};
};
};
config = mkIf cfg.enable {
assertions =
[ { assertion = cfg.config != {} -> cfg.configText == null ;
message = "Cannot specify both config and configText";
}
];
systemd.services.netdata = {
path = with pkgs; [ gawk curl ];
description = "Real time performance monitoring";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
@ -66,6 +91,15 @@ in {
};
};
security.wrappers."apps.plugin" = {
source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin";
capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+rx,o-rwx";
};
users.extraUsers = optional (cfg.user == defaultUser) {
name = defaultUser;
};

View File

@ -80,7 +80,7 @@ in rec {
(all nixos.tests.boot.uefiUsb)
(all nixos.tests.boot-stage1)
(all nixos.tests.hibernate)
nixos.tests.docker
nixos.tests.docker.x86_64-linux
(all nixos.tests.ecryptfs)
(all nixos.tests.env)
(all nixos.tests.ipv6)

View File

@ -16,7 +16,8 @@ let
inherit system;
} // args);
callTest = fn: args: forAllSystems (system: hydraJob (importTest fn args system));
callTestOnTheseSystems = systems: fn: args: forTheseSystems systems (system: hydraJob (importTest fn args system));
callTest = callTestOnTheseSystems supportedSystems;
callSubTests = fn: args: let
discover = attrs: let
@ -90,13 +91,13 @@ let
makeNetboot = config:
let
config_evaled = import lib/eval-config.nix config;
build = config_evaled.config.system.build;
kernelTarget = config_evaled.pkgs.stdenv.platform.kernelTarget;
configEvaled = import lib/eval-config.nix config;
build = configEvaled.config.system.build;
kernelTarget = configEvaled.pkgs.stdenv.platform.kernelTarget;
in
pkgs.symlinkJoin {
name="netboot";
paths=[
name = "netboot";
paths = [
build.netbootRamdisk
build.kernel
build.netbootIpxeScript
@ -107,6 +108,7 @@ let
echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
echo "file ipxe $out/netboot.ipxe" >> $out/nix-support/hydra-build-products
'';
preferLocalBuild = true;
};
@ -227,7 +229,7 @@ in rec {
tests.blivet = callTest tests/blivet.nix {};
tests.boot = callSubTests tests/boot.nix {};
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {};
tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
tests.cjdns = callTest tests/cjdns.nix {};
tests.cloud-init = callTest tests/cloud-init.nix {};
@ -242,12 +244,12 @@ in rec {
tests.containers-hosts = callTest tests/containers-hosts.nix {};
tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
tests.couchdb = callTest tests/couchdb.nix {};
tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
tests.docker-edge = hydraJob (import tests/docker-edge.nix { system = "x86_64-linux"; });
tests.docker = callTestOnTheseSystems ["x86_64-linux"] tests/docker.nix {};
tests.docker-edge = callTestOnTheseSystems ["x86_64-linux"] tests/docker-edge.nix {};
tests.dovecot = callTest tests/dovecot.nix {};
tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; };
tests.dnscrypt-proxy = callTestOnTheseSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
tests.ecryptfs = callTest tests/ecryptfs.nix {};
tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
tests.etcd = callTestOnTheseSystems ["x86_64-linux"] tests/etcd.nix {};
tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops;
tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config;
tests.elk = callSubTests tests/elk.nix { system = "x86_64-linux"; };
@ -255,7 +257,7 @@ in rec {
tests.ferm = callTest tests/ferm.nix {};
tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.nix {};
tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
tests.fleet = callTestOnTheseSystems ["x86_64-linux"] tests/fleet.nix {};
#tests.gitlab = callTest tests/gitlab.nix {};
tests.gitolite = callTest tests/gitolite.nix {};
tests.gocd-agent = callTest tests/gocd-agent.nix {};
@ -302,6 +304,7 @@ in rec {
tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; };
tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
tests.netdata = callTest tests/netdata.nix { };
tests.networking.networkd = callSubTests tests/networking.nix { networkd = true; };
tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; };
# TODO: put in networking.nix after the test becomes more complete
@ -315,7 +318,7 @@ in rec {
tests.openssh = callTest tests/openssh.nix {};
tests.owncloud = callTest tests/owncloud.nix {};
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
#tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
#tests.panamax = callTestOnTheseSystems ["x86_64-linux"] tests/panamax.nix {};
tests.peerflix = callTest tests/peerflix.nix {};
tests.php-pcre = callTest tests/php-pcre.nix {};
tests.postgresql = callSubTests tests/postgresql.nix {};

31
nixos/tests/netdata.nix Normal file
View File

@ -0,0 +1,31 @@
# This test runs netdata and checks for data via apps.plugin
import ./make-test.nix ({ pkgs, ...} : {
name = "netdata";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ cransom ];
};
nodes = {
netdata =
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [ curl jq ];
services.netdata.enable = true;
};
};
testScript = ''
startAll;
$netdata->waitForUnit("netdata.service");
# check if netdata can read disk ops for root owned processes.
# if > 0, successful. verifies both netdata working and
# apps.plugin has elevated capabilities.
my $cmd = <<'CMD';
curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
CMD
$netdata->waitUntilSucceeds($cmd);
'';
})

View File

@ -19,13 +19,13 @@ mkDerivation {
];
propagatedBuildInputs = [ boost kitemmodels ];
outputs = [ "out" "dev" ];
NIX_CFLAGS_COMPILE = [
''-DNIXPKGS_MYSQL_MYSQLD="${lib.getBin mysql}/bin/mysqld"''
''-DNIXPKGS_MYSQL_MYSQLADMIN="${lib.getBin mysql}/bin/mysqladmin"''
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB="${lib.getBin mysql}/bin/mysql_install_db"''
''-DNIXPKGS_MYSQL_MYSQLCHECK="${lib.getBin mysql}/bin/mysqlcheck"''
''-DNIXPKGS_POSTGRES_PG_CTL=""''
''-DNIXPKGS_POSTGRES_INITDB=""''
CXXFLAGS = [
''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mysql}/bin/mysqld\"''
''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mysql}/bin/mysqladmin\"''
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"''
''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"''
''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
''-DNIXPKGS_POSTGRES_INITDB=\"\"''
];
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIX_OUT=\"$out\""

View File

@ -8,7 +8,7 @@
, google_talk_plugin, fribid, gnome3/*.gnome_shell*/
, esteidfirefoxplugin
, vlc_npapi
, browserpass
, browserpass, chrome-gnome-shell
, libudev
, kerberos
}:
@ -63,6 +63,7 @@ let
nativeMessagingHosts =
([ ]
++ lib.optional (cfg.enableBrowserpass or false) browserpass
++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell
++ extraNativeMessagingHosts
);
libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])

View File

@ -1,23 +1,38 @@
{ stdenv, lib, fetchFromGitHub, removeReferencesTo
, go, libapparmor, apparmor-parser, libseccomp }:
, go, libapparmor, apparmor-parser, libseccomp, btrfs-progs }:
with lib;
stdenv.mkDerivation rec {
name = "containerd-${version}";
version = "0.2.9";
version = "1.0.1";
src = fetchFromGitHub {
owner = "containerd";
repo = "containerd";
rev = "v${version}";
sha256 = "0rix0mv203fn3rcxmpqdpb54l1a0paqplg2xgldpd943qi1rm552";
sha256 = "0kfafqi66yp4qy738pl11f050hfrx9m4kc670qpx7fmf9ii7q6p2";
};
buildInputs = [ removeReferencesTo go ];
hardeningDisable = [ "fortify" ];
buildInputs = [ removeReferencesTo go btrfs-progs ];
buildFlags = "VERSION=v${version}";
BUILDTAGS = []
++ optional (btrfs-progs == null) "no_btrfs";
preConfigure = ''
# Extract the source
cd "$NIX_BUILD_TOP"
mkdir -p "go/src/github.com/containerd"
mv "$sourceRoot" "go/src/github.com/containerd/containerd"
export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
'';
preBuild = ''
ln -s $(pwd) vendor/src/github.com/containerd/containerd
cd go/src/github.com/containerd/containerd
patchShebangs .
'';
installPhase = ''

View File

@ -39,13 +39,6 @@ rec {
hardeningDisable = [ "fortify" ];
buildInputs = [ removeReferencesTo go btrfs-progs ];
# This should go into the containerd derivation once 1.0.0 is out
preBuild = ''
export GOPATH=$(pwd)/vendor
mkdir $(pwd)/vendor/src
mv $(pwd)/vendor/{github.com,golang.org,google.golang.org} $(pwd)/vendor/src/
'' + oldAttrs.preBuild;
});
docker-tini = tini.overrideAttrs (oldAttrs: rec {

View File

@ -1,31 +1,36 @@
{stdenv, lib, python, dbus, fetchgit, cmake, coreutils, jq, gobjectIntrospection, python27Packages, makeWrapper, gnome3, wrapGAppsHook}:
{stdenv, fetchurl, cmake, ninja, jq, python3, gnome3, wrapGAppsHook}:
stdenv.mkDerivation rec {
name="chrome-gnome-shell";
src = fetchgit {
url = "git://git.gnome.org/chrome-gnome-shell";
rev = "7d99523e90805cb65027cc2f5f1191a957dcf276";
sha256 = "0qc34dbhsz5yf4z5bx6py08h561rcxw9928drgk9256g3vnygnbc";
let
version = "9";
inherit (python3.pkgs) python pygobject3 requests;
in stdenv.mkDerivation rec {
name = "chrome-gnome-shell-${version}";
src = fetchurl {
url = "mirror://gnome/sources/chrome-gnome-shell/${version}/${name}.tar.xz";
sha256 = "0j6lzlp3jvkpnkk8s99y3m14xiq94rjwjzy2pbfqgv084ahzmz8i";
};
buildInputs = [ gnome3.gnome_shell makeWrapper jq dbus gobjectIntrospection
python python27Packages.requests python27Packages.pygobject3 wrapGAppsHook];
preConfigure = ''
mkdir build usr etc
cd build
${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out/usr -DBUILD_EXTENSION=OFF ../
substituteInPlace cmake_install.cmake --replace "/etc" "$out/etc"
'';
postInstall = ''
rm $out/etc/opt/chrome/policies/managed/chrome-gnome-shell.json
rm $out/etc/chromium/policies/managed/chrome-gnome-shell.json
wrapProgram $out/usr/bin/chrome-gnome-shell \
--prefix PATH : '"${dbus}/bin"' \
--prefix PATH : '"${gnome3.gnome_shell}/bin"' \
--prefix PYTHONPATH : "$PYTHONPATH"
nativeBuildInputs = [ cmake ninja jq wrapGAppsHook ];
buildInputs = [ gnome3.gnome_shell python pygobject3 requests ];
preConfigure = ''
substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc"
'';
# cmake setup hook changes /etc/opt into /var/empty
dontFixCmake = true;
cmakeFlags = [ "-DBUILD_EXTENSION=OFF" ];
wrapPrefixVariables = [ "PYTHONPATH" ];
meta = with stdenv.lib; {
description = "GNOME Shell integration for Chrome";
longDescription = ''
To use the integration, install the <link xlink:href="https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation">browser extension</link>, and then set <option>services.gnome3.chrome-gnome-shell.enable</option> to <literal>true</literal>. For Firefox based browsers, you will also need to build the wrappers with <option>nixpkgs.config.firefox.enableGnomeExtensions</option> set to <literal>true</literal>.
'';
license = licenses.gpl3;
maintainers = gnome3.maintainers;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,129 @@
{ stdenv, targetPackages
, buildPlatform, hostPlatform, targetPlatform
, selfPkgs, cross ? null
# build-tools
, bootPkgs, alex, happy
, autoconf, automake, coreutils, fetchgit, perl, python3
, libiconv ? null, ncurses
, # 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
, version ? "8.4.20180115"
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (bootPkgs) ghc;
rev = "3e3a096885c0fcd0703edbeffb4e47f5cbd8f4cc";
# TODO(@Ericson2314) Make unconditional
targetPrefix = stdenv.lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";
in
stdenv.mkDerivation (rec {
inherit version rev;
name = "${targetPrefix}ghc-${version}";
src = fetchgit {
url = "git://git.haskell.org/ghc.git";
inherit rev;
sha256 = "06slymbsd7vsfp4hh40v7cxf7nmp0kvlni2wfq7ag5wlqh04slgs";
};
postPatch = "patchShebangs .";
preConfigure = ''
echo ${version} >VERSION
echo ${rev} >GIT_COMMIT_ID
./boot
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
'' + stdenv.lib.optionalString enableIntegerSimple ''
echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
sed 's|#BuildFlavour = quick-cross|BuildFlavour = perf-cross|' mk/build.mk.sample > mk/build.mk
'';
buildInputs = [ ghc perl autoconf automake happy alex python3 ];
enableParallelBuilding = true;
configureFlags = [
"CC=${stdenv.cc}/bin/cc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
"--datadir=$doc/share/doc/ghc"
] ++ stdenv.lib.optional (! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
] ++ stdenv.lib.optional stdenv.isDarwin [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
];
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
checkTarget = "test";
postInstall = ''
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
# Patch scripts to include "readelf" and "cat" in $PATH.
for i in "$out/bin/"*; do
test ! -h $i || continue
egrep --quiet '^#!' <(head -n 1 $i) || continue
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
done
'';
outputs = [ "out" "doc" ];
passthru = {
inherit bootPkgs targetPrefix;
} // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) {
crossCompiler = selfPkgs.ghc.override {
cross = targetPlatform;
bootPkgs = selfPkgs;
};
};
meta = {
homepage = http://haskell.org/ghc;
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
inherit (ghc.meta) license platforms;
};
} // stdenv.lib.optionalAttrs (cross != null) {
configureFlags = [
"CC=${stdenv.cc}/bin/${cross.config}-cc"
"LD=${stdenv.cc.bintools}/bin/${cross.config}-ld"
"AR=${stdenv.cc.bintools}/bin/${cross.config}-ar"
"NM=${stdenv.cc.bintools}/bin/${cross.config}-nm"
"RANLIB=${stdenv.cc.bintools}/bin/${cross.config}-ranlib"
"--target=${cross.config}"
"--enable-bootstrap-with-devel-snapshot"
] ++
# fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
stdenv.lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
configurePlatforms = [];
passthru = {
inherit bootPkgs cross;
cc = "${stdenv.cc}/bin/${cross.config}-cc";
ld = "${stdenv.cc}/bin/${cross.config}-ld";
};
})

View File

@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
postBuild = ''
find . -name 'config' -type f | xargs \
sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \
-e "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" \
-e 's#[^"]*libgdiplus[^"]*"#${libgdiplus}/lib/libgdiplus.so"#' \
'';
# Without this, any Mono application attempting to open an SSL connection will throw with

View File

@ -80,7 +80,7 @@ self: super: {
name = "git-annex-${drv.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + drv.version;
sha256 = "1fd7lyrwr60dp55swc5iwl0mkkzmdzpmj9qmx1qca2r7y9wc5w5k";
sha256 = "0vvh1k7i6y4bqy6fn8z5i6ndqv6x94hvk2zh5gw99na8kfri7sxq";
};
})).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -543,11 +543,8 @@ self: super: {
# https://github.com/athanclark/sets/issues/2
sets = dontCheck super.sets;
# Install icons and metadata, remove broken hgettext dependency.
# https://github.com/vasylp/hgettext/issues/10
# Install icons, metadata and cli program.
bustle = overrideCabal super.bustle (drv: {
configureFlags = drv.configureFlags or [] ++ ["-f-hgettext"];
executableHaskellDepends = pkgs.lib.remove self.hgettext drv.executableHaskellDepends;
buildDepends = [ pkgs.libpcap ];
buildTools = with pkgs; [ gettext perl help2man intltool ];
doCheck = false; # https://github.com/wjt/bustle/issues/6
@ -848,8 +845,11 @@ self: super: {
# https://github.com/fpco/stackage/issues/3126
stack = doJailbreak super.stack;
# Hoogle needs a newer version than lts-10 provides.
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; };
# Hoogle needs newer versions than lts-10 provides.
hoogle = super.hoogle.override {
haskell-src-exts = self.haskell-src-exts_1_20_1;
http-conduit = self.http-conduit_2_3_0;
};
# These packages depend on each other, forming an infinite loop.
scalendar = markBroken (super.scalendar.override { SCalendar = null; });

View File

@ -0,0 +1,44 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# Use the latest LLVM.
inherit (pkgs) llvmPackages;
# Disable GHC 8.4.x core libraries.
#
# Verify against:
# ls /nix/store/wnh3kxra586h9wvxrn62g4lmsri2akds-ghc-8.4.20180115/lib/ghc-8.4.20180115/ -1 | sort | grep -e '-' | grep -Ev '(txt|h|targets)$'
array = null;
base = null;
binary = null;
bytestring = null;
Cabal = null;
containers = null;
deepseq = null;
directory = null;
filepath = null;
bin-package-db = null;
ghc-boot = null;
ghc-boot-th = null;
ghc-compact = null;
ghci = null;
ghc-prim = null;
haskeline = null;
hpc = null;
integer-gmp = null;
mtl = null;
parsec = null;
pretty = null;
process = null;
stm = null;
template-haskell = null;
terminfo = null;
text = null;
time = null;
transformers = null;
unix = null;
xhtml = null;
}

File diff suppressed because it is too large Load Diff

View File

@ -40,6 +40,18 @@ rec {
overrideScope = scope: overrideCabal (drv.overrideScope scope) f;
};
# : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
# Given a set whose values are either paths or version strings, produces
# a package override set (i.e. (self: super: { etc. })) that sets
# the packages named in the input set to the corresponding versions
packageSourceOverrides =
overrides: self: super: pkgs.lib.mapAttrs (name: src:
let isPath = x: builtins.substring 0 1 (toString x) == "/";
generateExprs = if isPath src
then self.callCabal2nix
else self.callHackage;
in generateExprs name src {}) overrides;
/* doCoverage modifies a haskell package to enable the generation
and installation of a coverage report.

View File

@ -139,6 +139,8 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
inherit mkDerivation callPackage haskellSrc2nix hackage2nix;
inherit (haskellLib) packageSourceOverrides;
callHackage = name: version: self.callPackage (self.hackage2nix name version);
# Creates a Haskell package from a source package by calling cabal2nix on the source.
@ -155,18 +157,6 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
};
}) args) (_: { inherit src; });
# : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
# Given a set whose values are either paths or version strings, produces
# a package override set (i.e. (self: super: { etc. })) that sets
# the packages named in the input set to the corresponding versions
packageSourceOverrides =
overrides: self: super: pkgs.lib.mapAttrs (name: src:
let isPath = x: builtins.substring 0 1 (toString x) == "/";
generateExprs = if isPath src
then self.callCabal2nix
else self.callHackage;
in generateExprs name src {}) overrides;
# : { root : Path
# , source-overrides : Defaulted (Either Path VersionNumber)
# , overrides : Defaulted (HaskellPackageOverrideSet)

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurlBoot, enableThreading ? stdenv ? glibc }:
{ lib, stdenv, fetchurlBoot, buildPackages, enableThreading ? stdenv ? glibc }:
with lib;
@ -19,7 +19,8 @@ let
libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr";
libcInc = lib.getDev libc;
libcLib = lib.getLib libc;
common = { version, sha256 }: stdenv.mkDerivation rec {
crossCompiling = stdenv.buildPlatform != stdenv.hostPlatform;
common = { version, sha256 }: stdenv.mkDerivation (rec {
name = "perl-${version}";
src = fetchurlBoot {
@ -50,6 +51,8 @@ let
pwd="$(type -P pwd)"
substituteInPlace dist/PathTools/Cwd.pm \
--replace "/bin/pwd" "$pwd"
'' + stdenv.lib.optionalString crossCompiling ''
substituteInPlace cnf/configure_tool.sh --replace "cc -E -P" "cc -E"
'';
# Build a thread-safe Perl with a dynamic libperls.o. We need the
@ -58,8 +61,10 @@ let
# contains the string "perl", Configure would select $out/lib.
# Miniperl needs -lm. perl needs -lrt.
configureFlags =
[ "-de"
"-Dcc=cc"
(if crossCompiling
then [ "-Dlibpth=\"\"" "-Dglibpth=\"\"" ]
else [ "-de" "-Dcc=cc" ])
++ [
"-Uinstallusrbinperl"
"-Dinstallstyle=lib/perl5"
"-Duseshrplib"
@ -69,14 +74,13 @@ let
++ optional stdenv.isSunOS "-Dcc=gcc"
++ optional enableThreading "-Dusethreads";
configureScript = "${stdenv.shell} ./Configure";
configureScript = stdenv.lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure";
dontAddPrefix = true;
dontAddPrefix = !crossCompiling;
enableParallelBuilding = true;
enableParallelBuilding = !crossCompiling;
preConfigure =
''
preConfigure = optionalString (!crossCompiling) ''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
'' + optionalString (stdenv.isArm || stdenv.isMips) ''
configureFlagsArray=(-Dldflags="-lm -lrt")
@ -121,7 +125,23 @@ let
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
};
} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
crossVersion = "1.1.8";
perl-cross-src = fetchurlBoot {
url = "https://github.com/arsv/perl-cross/releases/download/${crossVersion}/perl-cross-${crossVersion}.tar.gz";
sha256 = "072j491rpz2qx2sngbg4flqh4lx5865zyql7b9lqm6s1kknjdrh8";
};
nativeBuildInputs = [ buildPackages.stdenv.cc ];
postUnpack = ''
unpackFile ${perl-cross-src}
cp -R perl-cross-${crossVersion}/* perl-${version}/
'';
configurePlatforms = [ "build" "host" "target" ];
});
in rec {
perl = perl524;

View File

@ -63,15 +63,15 @@ let
mkdir -p $out/share $out/bin
cp pixie-src/pixie-vm $out/share/pixie-vm
cp -R pixie-src/pixie $out/share/pixie
makeWrapper $out/share/pixie-vm $out/bin/pixie-vm \
makeWrapper $out/share/pixie-vm $out/bin/pixie \
--prefix LD_LIBRARY_PATH : ${library-path} \
--prefix C_INCLUDE_PATH : ${include-path} \
--prefix LIBRARY_PATH : ${library-path} \
--prefix PATH : ${bin-path}
cat > $out/bin/pxi <<EOF
#!$shell
>&2 echo "[\$\$] WARNING: 'pxi' is a deprecated alias for 'pixie-vm', please update your scripts."
exec $out/bin/pixie-vm "\$@"
>&2 echo "[\$\$] WARNING: 'pxi' and 'pixie-vm' are deprecated aliases for 'pixie', please update your scripts."
exec $out/bin/pixie "\$@"
EOF
chmod +x $out/bin/pxi
'';
@ -79,7 +79,8 @@ let
description = "A clojure-like lisp, built with the pypy vm toolkit";
homepage = https://github.com/pixie-lang/pixie;
license = stdenv.lib.licenses.lgpl3;
platforms = ["x86_64-linux" "i686-linux"];
platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
maintainers = with stdenv.lib.maintainers; [ bendlas ];
};
};
in build (builtins.getAttr variant variants)

View File

@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
homepage = src.meta.homepage;
license = stdenv.lib.licenses.lgpl3;
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}

View File

@ -1,6 +1,6 @@
# Generated by debian-patches.sh from debian-patches.txt
let
prefix = "http://patch-tracker.debian.org/patch/series/dl/gamin/0.1.10-4.1";
prefix = "https://sources.debian.org/data/main/g/gamin/0.1.10-4.1/debian/patches";
in
[
{

View File

@ -1,2 +1,2 @@
gamin/0.1.10-4
gamin/0.1.10-4.1
17_deprecated_const_return.patch

View File

@ -0,0 +1,41 @@
Adapted from https://github.com/zcash/libsnark/pull/10
diff --git a/depends/libff/libff/common/profiling.cpp b/depends/libff/libff/common/profiling.cpp
index f2a1985..319149c 100755
--- a/depends/libff/libff/common/profiling.cpp
+++ b/depends/libff/libff/common/profiling.cpp
@@ -27,6 +27,13 @@
#include <proc/readproc.h>
#endif
+#ifdef __MACH__
+#include <time.h>
+#include <sys/time.h>
+#include <mach/clock.h>
+#include <mach/mach.h>
+#endif
+
namespace libff {
long long get_nsec_time()
@@ -42,10 +49,20 @@ long long get_nsec_cpu_time()
return 0;
#else
::timespec ts;
+#ifdef __MACH__
+ clock_serv_t cclock;
+ mach_timespec_t mts;
+ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
+ clock_get_time(cclock, &mts);
+ mach_port_deallocate(mach_task_self(), cclock);
+ ts.tv_sec = mts.tv_sec;
+ ts.tv_nsec = mts.tv_nsec;
+#else
if ( ::clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) )
throw ::std::runtime_error("clock_gettime(CLOCK_PROCESS_CPUTIME_ID) failed");
// If we expected this to work, don't silently ignore failures, because that would hide the problem and incur an unnecessarily system-call overhead. So if we ever observe this exception, we should probably add a suitable #ifdef .
//TODO: clock_gettime(CLOCK_PROCESS_CPUTIME_ID) is not supported by native Windows. What about Cygwin? Should we #ifdef on CLOCK_PROCESS_CPUTIME_ID or on __linux__?
+#endif
return ts.tv_sec * 1000000000ll + ts.tv_nsec;
#endif
}

View File

@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, boost, gmp, procps, fetchpatch, patchutils }:
let
rev = "9e6b19ff15bc19fba5da1707ba18e7f160e5ed07";
inherit (stdenv) lib;
in stdenv.mkDerivation rec {
name = "libsnark-pre${version}";
version = stdenv.lib.substring 0 8 rev;
buildInputs = [ cmake pkgconfig openssl boost gmp ] ++ lib.optional stdenv.hostPlatform.isLinux procps;
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-DWITH_PROCPS=OFF" "-DWITH_SUPERCOP=OFF" ];
src = fetchFromGitHub {
inherit rev;
owner = "scipr-lab";
repo = "libsnark";
sha256 = "13f02qp2fmfhvxlp4xi69m0l8r5nq913l2f0zwdk7hl46lprfdca";
fetchSubmodules = true;
};
patches = [ ./darwin-fix-clock-gettime.patch ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "C++ library for zkSNARKs";
homepage = https://github.com/scipr-lab/libsnark;
license = licenses.mit;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "opensaml-cpp-${version}";
version = "2.6.0";
version = "2.6.1";
src = fetchgit {
url = "https://git.shibboleth.net/git/cpp-opensaml.git";
rev = "61193de29e4c9f1ccff7ed7e1f42c2748c62be77";
sha256 = "1jlxa1f2qn0kd15fzjqp80apxn42v47wg3mx1vk424m31rhi00xr";
rev = version;
sha256 = "0wjb6jyvh4hwpy1pvhh63i821746nqijysrd4vasbirkf4h6z7nx";
};
buildInputs = [ boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "shibboleth-sp-${version}";
version = "2.6.0";
version = "2.6.1";
src = fetchgit {
url = "https://git.shibboleth.net/git/cpp-sp.git";
rev = "9ebba5c3a16d03769f436e383e4c4cdaa33f5509";
sha256 = "1b5r4nd098lnjwr2g13f04ycqv5fvbrhpwg6fsdk8xy9cigvfzxj";
rev = version;
sha256 = "01q13p7gc0janjfml6zs46na8qnval8hc833fk2wrnmi4w9xw4fd";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "xml-tooling-c-${version}";
version = "1.6.0";
version = "1.6.3";
src = fetchgit {
url = "https://git.shibboleth.net/git/cpp-xmltooling.git";
rev = "db08101c3854518a59096be95ed6564838381744";
sha256 = "0rhzvxm4z3pm28kpk34hayhm12bjjms2kygv1z68vnz8ijzgcinq";
rev = version;
sha256 = "09z2pp3yy3kqx22vwgxyi3s0vlpdv9camw8dpi3q8piff6zxak3q";
};
buildInputs = [ boost curl openssl log4shib xercesc xml-security-c ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, ruby }:
{ stdenv, fetchurl, cmake }:
stdenv.mkDerivation rec {
name = "yajl-2.1.0";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0f6yrjc05aa26wfi7lqn2gslm19m6rm81b30ksllpkappvh162ji";
};
buildInputs = [ cmake ruby ];
nativeBuildInputs = [ cmake ];
meta = {
description = "Yet Another JSON Library";

View File

@ -0,0 +1,36 @@
{ stdenv, buildPythonPackage, fetchPypi, jinja2, jinja2_pluralize, pygments,
six, inflect, mock, nose, coverage, pycodestyle, flake8, pyflakes, git,
pylint, pydocstyle, fetchpatch }:
buildPythonPackage rec {
pname = "diff_cover";
version = "1.0.2";
preCheck = ''
export LC_ALL=en_US.UTF-8;
'';
src = fetchPypi {
inherit pname version;
sha256 = "1wbp0kfv2mjxwnq2jlqmwvb71fywwc4x4azxi7ll5dll6nhjyd61";
};
patches = [
(fetchpatch {
name = "tests-fix.patch";
url = "https://github.com/Bachmann1234/diff-cover/commit/85c30959c8ed2aa3848f400095a2418f15bb7777.patch";
sha256 = "0xni4syrxww9kdv8495f416vqgfdys4w2hgf5rdi35hy3ybfslh0";
})
];
propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
checkInputs = [ mock nose coverage pycodestyle flake8 pyflakes pylint pydocstyle git ];
meta = with stdenv.lib; {
description = "Automatically find diff lines that need test coverage";
homepage = https://github.com/Bachmann1234/diff-cover;
license = licenses.asl20;
maintainers = with maintainers; [ dzabraev ];
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, buildPythonPackage, fetchPypi, jinja2, inflect }:
buildPythonPackage rec {
pname = "jinja2_pluralize";
version = "0.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "071wnzzz20wjb0iw7grxgj1lb2f0kz50qyfbcq54rddr2x82sp6z";
};
propagatedBuildInputs = [
jinja2
inflect
];
meta = with stdenv.lib; {
description = "Jinja2 pluralize filters";
homepage = https://github.com/audreyr/jinja2_pluralize;
license = licenses.bsd3;
maintainers = with maintainers; [ dzabraev ];
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, buildPythonPackage, fetchPypi, snowballstemmer, configparser,
pytest, pytestpep8, mock, pathlib }:
buildPythonPackage rec {
pname = "pydocstyle";
version = "2.1.1";
src = fetchPypi {
inherit pname version;
sha256 = "15ssv8l6cvrmzgwcdzw76rnl4np3qf0dbwr1wsx76y0hc7lwsnsd";
};
propagatedBuildInputs = [ snowballstemmer configparser ];
checkInputs = [ pytest pytestpep8 mock pathlib ];
meta = with stdenv.lib; {
description = "Python docstring style checker";
homepage = https://github.com/PyCQA/pydocstyle/;
license = licenses.mit;
maintainers = with maintainers; [ dzabraev ];
};
}

View File

@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchpatch
, pytest
, pretend
, freezegun
@ -16,6 +17,14 @@ buildPythonPackage rec {
sha256 = "6980001045abd235fa12582222627c19b89109e58b85eb77d5a5abc778df6e20";
};
patches = [
# Fix tests for pytest 3.3
(fetchpatch {
url = "https://github.com/hynek/structlog/commit/22f0ae50607a0cb024361599f84610ce290deb99.patch";
sha256 = "03622i13ammkpyrdk48kimbz94gbkpcmdpy0kj2z09m1kp6q2ljv";
})
];
checkInputs = [ pytest pretend freezegun ];
propagatedBuildInputs = [ simplejson ];
@ -29,4 +38,4 @@ buildPythonPackage rec {
homepage = http://www.structlog.org/;
license = lib.licenses.asl20;
};
}
}

View File

@ -246,6 +246,7 @@ let
ChemmineOB = [ pkgs.openbabel pkgs.pkgconfig ];
cit = [ pkgs.gsl_1 ];
curl = [ pkgs.curl.dev ];
data_table = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
diversitree = [ pkgs.gsl_1 pkgs.fftw ];
EMCluster = [ pkgs.liblapack ];
@ -744,6 +745,11 @@ let
patchPhase = "patchShebangs configure";
});
data_table = old.data_table.overrideDerivation (attrs: {
NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE
+ lib.optionalString stdenv.isDarwin " -fopenmp";
});
rpf = old.rpf.overrideDerivation (attrs: {
patchPhase = "patchShebangs configure";
});

View File

@ -5,14 +5,14 @@ in
python27Packages.buildPythonApplication rec {
name = "${pname}-${version}";
pname = "gdbgui";
version = "0.9.1.0";
version = "0.10.1.0";
buildInputs = [ gdb ];
propagatedBuildInputs = builtins.attrValues deps.packages;
src = python27Packages.fetchPypi {
inherit pname version;
sha256 = "0ybgkk4h9zwhbx5d0j0fmfzxxgg8f6apm8v7djavm0ldpr6f5z26";
sha256 = "1585vjbrc8r0a7069aism66c0kkj91yklpdblb9c34570zbpabvs";
};
postPatch = ''

View File

@ -113,13 +113,12 @@ let
"Flask-SocketIO" = python.mkDerivation {
name = "Flask-SocketIO-2.9.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; };
name = "Flask-SocketIO-2.9.3";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/a0/ac/4024b73e071d5a000a998d6f26ba0a090011d5abdc7aa41f2774173c3276/Flask-SocketIO-2.9.3.tar.gz"; sha256 = "df23f790db8529c543bd0b54165215c342cf6955a4a1f605650e759197a46d59"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."Flask"
self."python-engineio"
self."python-socketio"
];
meta = with pkgs.stdenv.lib; {
@ -179,15 +178,15 @@ let
"Werkzeug" = python.mkDerivation {
name = "Werkzeug-0.12.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; };
name = "Werkzeug-0.14.1";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/9f/08/a3bb1c045ec602dc680906fc0261c267bed6b3bb4609430aff92c3888ec8/Werkzeug-0.14.1.tar.gz"; sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "http://werkzeug.pocoo.org/";
homepage = "https://www.palletsprojects.org/p/werkzeug/";
license = licenses.bsdOriginal;
description = "The Swiss Army knife of Python web development";
description = "The comprehensive WSGI web application library.";
};
};
@ -208,56 +207,6 @@ let
"enum-compat" = python.mkDerivation {
name = "enum-compat-0.0.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz"; sha256 = "939ceff18186a5762ae4db9fa7bfe017edbd03b66526b798dd8245394c8a4192"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."enum34"
];
meta = with pkgs.stdenv.lib; {
homepage = "https://github.com/jstasiak/enum-compat";
license = licenses.mit;
description = "enum/enum34 compatibility package";
};
};
"enum34" = python.mkDerivation {
name = "enum34-1.1.6";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; {
homepage = "https://bitbucket.org/stoneleaf/enum34";
license = licenses.bsdOriginal;
description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
};
};
"eventlet" = python.mkDerivation {
name = "eventlet-0.21.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cb/ec/eae487c106a7e38f86ac4cadafb3eec77d29996f64ca0c7015067538069b/eventlet-0.21.0.tar.gz"; sha256 = "08faffab88c1b08bd53ea28bf084a572c89f7e7648bd9d71e6116ac17a51a15d"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."enum-compat"
self."greenlet"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://eventlet.net";
license = licenses.mit;
description = "Highly concurrent networking library";
};
};
"gevent" = python.mkDerivation {
name = "gevent-1.2.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; };
@ -306,8 +255,8 @@ let
"pygdbmi" = python.mkDerivation {
name = "pygdbmi-0.7.4.4";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; };
name = "pygdbmi-0.8.2.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4e/34/a8c86d85e0d3d8df2c289657a55c19408dbdbf0b1468859e7f1a745ae8ff/pygdbmi-0.8.2.0.tar.gz"; sha256 = "47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ];
@ -320,26 +269,9 @@ let
"pypugjs" = python.mkDerivation {
name = "pypugjs-4.2.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/21/bb/d541110bd5a5c1ecd9dab2778dc9a39ca5a5e9962845e9d3e598962ee3ca/pypugjs-4.2.2.tar.gz"; sha256 = "c99a72a78766d9462d94379a6b489f9864ecdeeeeaf8d0f34b2ce04963f6ec8c"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
self."six"
];
meta = with pkgs.stdenv.lib; {
homepage = "http://github.com/matannoam/pypugjs";
license = licenses.mit;
description = "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates - copy of PyJade with the name changed";
};
};
"python-engineio" = python.mkDerivation {
name = "python-engineio-2.0.1";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; };
name = "python-engineio-2.0.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e5/91/f6fd80298e68b4ca22a1a9cc3091116e2fef22fd8fb017ad9e5c6ec6ddcc/python-engineio-2.0.2.tar.gz"; sha256 = "46c710a72c3b2a8511b0d7963c46e200010f8ea3eb0721ce15603d0f23e993c4"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [
@ -355,8 +287,8 @@ let
"python-socketio" = python.mkDerivation {
name = "python-socketio-1.8.3";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; };
name = "python-socketio-1.8.4";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/58/a9/52af6a7ad0805977afc838ed394f8d26d078ef61e8c1bdd632801c58ef3a/python-socketio-1.8.4.tar.gz"; sha256 = "13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc"; };
doCheck = commonDoCheck;
buildInputs = commonBuildInputs;
propagatedBuildInputs = [

View File

@ -8,33 +8,39 @@ let
in stdenv.mkDerivation rec {
name = "supertuxkart-${version}";
version = "0.9.2";
version = "0.9.3";
srcs = [
(fetchFromGitHub {
owner = "supertuxkart";
repo = "stk-code";
rev = version;
sha256 = "1zsc5nw8il8xwppk624jampfk6qhqzjnni8zicrhqix0xg07nxca";
sha256 = "1smnanjjaj4yq2ywikv0l6xysh6n2h1cm549plbg5xdk9mx2sfia";
name = dir;
})
(fetchsvn {
url = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets";
rev = "16503"; # 0.9.2 crashes with 16937. Refer to stk-code/doc/assets_version
sha256 = "0j1dy27gxm4hx26xddr2ak6vw0lim0nqmjnszfb4c61y92j12cqp";
rev = "17448";
sha256 = "0lxbb4k57gv4gj12l5hnvhwdycpzcxjwg7qdfwglj2bdvaxf9f21";
name = "stk-assets";
})
];
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ cmake gettext libtool pkgconfig ];
buildInputs = [
cmake libtool
libX11 libXrandr
openal freealut mesa libvorbis libogg gettext zlib freetype
openal freealut mesa libvorbis libogg zlib freetype
curl fribidi bluez libjpeg libpng
];
enableParallelBuilding = true;
cmakeFlags = [
"-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
"-DUSE_SYSTEM_ANGELSCRIPT=OFF" # doesn't work with 2.31.2 or 2.32.0
];
sourceRoot = dir;
meta = with stdenv.lib; {

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
buildInputs = [ libelf ];
nativeBuildInputs = kernel.moduleBuildDependencies;
hardeningDisable = [ "pic" ];

View File

@ -13,9 +13,9 @@ let fetchurl = args@{url, sha256, ...}:
in rec {
stable = fetchurl rec {
version = "2.0.3";
url = "https://dl.winehq.org/wine/source/2.0/wine-${version}.tar.xz";
sha256 = "0mmyc94r5drffir8zr8jx6iawhgfzjk96fj494aa18vhz1jcc4d8";
version = "3.0";
url = "https://dl.winehq.org/wine/source/3.0/wine-${version}.tar.xz";
sha256 = "1v7vq9iinkscbq6wg85fb0d2137660fg2nk5iabxkl2wr850asil";
## see http://wiki.winehq.org/Gecko
gecko32 = fetchurl rec {

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "hdparm-9.52";
name = "hdparm-9.53";
src = fetchurl {
url = "mirror://sourceforge/hdparm/${name}.tar.gz";
sha256 = "1djgxhfadd865dcrl6dp7dvjxpaisy7mk17mbdbglwg24ga9qhn3";
sha256 = "1rb5086gp4l1h1fn2nk10ziqxjxigsd0c1zczahwc5k9vy8zawr6";
};

View File

@ -11,7 +11,7 @@ assert versionAtLeast kernel.version "3.12";
stdenv.mkDerivation {
name = "perf-linux-${kernel.version}";
inherit (kernel) src makeFlags;
inherit (kernel) src;
preConfigure = ''
cd tools/perf
@ -39,6 +39,10 @@ stdenv.mkDerivation {
"-Wno-error=unused-const-variable" "-Wno-error=misleading-indentation"
];
makeFlags = if stdenv.hostPlatform == stdenv.buildPlatform
then null
else "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
installFlags = "install install-man ASCIIDOC8=1";
preFixup = ''

View File

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, perl }:
stdenv.mkDerivation {
name = "perf-tools-20160418";
name = "perf-tools-20171219";
src = fetchFromGitHub {
owner = "brendangregg";
repo = "perf-tools";
rev = "5a511f5f775cfbc0569e6039435361cecd22dd86";
sha256 = "1ab735idi0h62yvhzd7822jj3555vygixv4xjrfrdvi8d2hhz6qn";
rev = "98d42a2a1493d2d1c651a5c396e015d4f082eb20";
sha256 = "09qnss9pd4kr6qadvp62m2g8sfrj86fksi1rr8m8w4314pzfb93c";
};
buildInputs = [ perl ];

View File

@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
name = "phc-intel-pack-${revbump}.tar.bz2";
};
buildInputs = [ which ];
nativeBuildInputs = [ which ] ++ kernel.moduleBuildDependencies;
hardeningDisable = [ "pic" ];

View File

@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
export PATH=${kmod}/sbin:$PATH
'';
nativeBuildInputs = kernel.moduleBuildDependencies;
buildInputs = [ kmod ];
makeFlags = [

View File

@ -3,13 +3,13 @@
buildGoPackage rec {
name = "minio-${version}";
version = "2018-01-02T23-07-00Z";
version = "2018-01-18T20-33-21Z";
src = fetchFromGitHub {
owner = "minio";
repo = "minio";
rev = "RELEASE.${version}";
sha256 = "1bpiy6q9782mxs5f5lzw6c7zx83s2i68rf5f65xa9z7cyl19si74";
sha256 = "102rilh1kjf9y6g6y83ikk42w7g1sbld11md3wm54hynyh956xrs";
};
goPackagePath = "github.com/minio/minio";

View File

@ -3,39 +3,19 @@
stdenv.mkDerivation rec {
name = "openafs-${version}-${kernel.version}";
version = "1.6.21.1";
version = "1.6.22.1";
src = fetchurl {
url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
sha256 = "0nisxnfl8nllcfmi7mxj1gngkpxd4jp1wapbkhz07qwqynq9dn5f";
sha256 = "19nfbksw7b34jc3mxjk7cbz26zg9k5myhzpv2jf0fnmznr47jqaw";
};
nativeBuildInputs = [ autoconf automake flex yacc perl which ];
nativeBuildInputs = [ autoconf automake flex yacc perl which ] ++ kernel.moduleBuildDependencies;
buildInputs = [ ncurses ];
hardeningDisable = [ "pic" ];
patches = [
(fetchpatch {
name = "fix-stdint-include.patch";
url = "http://git.openafs.org/?p=openafs.git;a=patch;h=c193e5cba18273a062d4162118c7055b54f7eb5e";
sha256 = "1yc4gygcazwsslf6mzk1ai92as5jbsjv7212jcbb2dw83jydhc09";
})
# linux 4.14
(fetchpatch {
name = "test-for-__vfs_write-rather-than-__vfs_read.patch";
url = "http://git.openafs.org/?p=openafs.git;a=patch;h=929e77a886fc9853ee292ba1aa52a920c454e94b";
sha256 = "0g4jxqzvyrjy2q7mhxc5ikhypj3ljw1wri4lipzm66crsvycp9x5";
})
# linux 4.14
(fetchpatch {
name = "use-kernel_read-kernel_write-when-__vfs-variants-are-unavailable.patch";
url = "http://git.openafs.org/?p=openafs.git;a=patch;h=5ee516b3789d3545f3d78fb3aba2480308359945";
sha256 = "1vx55qb120y857mn1l00i58fj9cckschp86ch3g6hqrdc5q5bxv2";
})
];
preConfigure = ''
ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux

View File

@ -1,14 +1,42 @@
# Generated by debian-patches.sh from debian-patches.txt
let
prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-3";
prefix = "https://sources.debian.org/data/main/p/plotutils/2.6-9/debian/patches";
in
[
{
url = "${prefix}/01_AC_PROG_CXX.diff";
sha256 = "0r7xgwbk2yqs7b29gwhr8pnbqvy3a3x698j17s4yg501ragw1gqv";
}
{
url = "${prefix}/10_repair_postscript";
sha256 = "01v4a8mdhgsjxbf9a2xppx2lb05lp818v8afp5x2njv64wpgla8p";
}
{
url = "${prefix}/11_manpages_sb_macro";
sha256 = "01vvhznw5z7lb7afwgw53cwg8w676s4v30kychlrl8kn5yks94qs";
}
{
url = "${prefix}/14_manpage_spline";
sha256 = "1xp3cx9y9njp5wp40dkp7rwd2flkiik2gb08nh4516vkm73avfrd";
}
{
url = "${prefix}/20_svg_attribute_syntax";
sha256 = "0vy089w00x2zh87igv3dcqq7kggqxpc4javb694pa5xl5bvddnqk";
}
{
url = "${prefix}/21_plot2svg_test.diff";
sha256 = "0lv8hj9fiqj6z72pnaw3imk3164n1kcy5ym0j9jl2pn3a19p1jmb";
}
{
url = "${prefix}/25_libpng15";
sha256 = "0l640rcsgc2mwpk7iqm0cf3b0gfcdgcn9wg4x88gaqxzx9rriph0";
}
{
url = "${prefix}/30_hershey_glyphs";
sha256 = "0n7rn6ln9ikzq2dialif58ag5pch7q7zqd5zcsxxdyyasx4s5gm2";
}
{
url = "${prefix}/35_spline.test.error.diff";
sha256 = "1kqj1n8myk8xmglj6qcybj34zm4kpn6aw320jbpqhblkgp7m0fb1";
}
]

View File

@ -1,3 +1,10 @@
plotutils/2.6-2
plotutils/2.6-9
01_AC_PROG_CXX.diff
10_repair_postscript
11_manpages_sb_macro
14_manpage_spline
20_svg_attribute_syntax
21_plot2svg_test.diff
25_libpng15
30_hershey_glyphs
35_spline.test.error.diff

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, libpng }:
{ fetchurl, stdenv, libpng, autoreconfHook }:
# debian splits this package into plotutils and libplot2c2
@ -13,14 +13,8 @@ stdenv.mkDerivation rec {
sha256 = "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libpng ];
# disable failing test on i686
# https://lists.gnu.org/archive/html/bug-plotutils/2016-04/msg00002.html
prePatch = stdenv.lib.optionalString stdenv.isi686 ''
substituteInPlace test/Makefile.in --replace 'spline.test' ' '
'';
patches = map fetchurl (import ./debian-patches.nix);
configureFlags = "--enable-libplotter"; # required for pstoedit
@ -29,6 +23,8 @@ stdenv.mkDerivation rec {
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "Powerful C/C++ library for exporting 2D vector graphics";

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://pngquant.org/;
description = "A tool to convert 24/32-bit RGBA PNGs to 8-bit palette with alpha channel preserved";
platforms = platforms.linux;
platforms = platforms.unix;
license = licenses.gpl3;
maintainers = [ maintainers.volth ];
};

View File

@ -4,13 +4,13 @@ stdenv.mkDerivation rec {
name = pname + "-" + version;
pname = "i2pd";
version = "2.15.0";
version = "2.17.0";
src = fetchFromGitHub {
owner = "PurpleI2P";
repo = pname;
rev = version;
sha256 = "02nyk76q2ag0495ph62i0jij27nxpy6qvryjp25wah8f69k7bgfs";
sha256 = "1yl5h7mls50vkg7x5510mljmgsm02arqhcanwkrqw4ilwvcp1mgz";
};
buildInputs = [ boost zlib openssl ];

View File

@ -2764,7 +2764,9 @@ with pkgs;
i2p = callPackage ../tools/networking/i2p {};
i2pd = callPackage ../tools/networking/i2pd {};
i2pd = callPackage ../tools/networking/i2pd {
boost = boost165;
};
i-score = libsForQt5.callPackage ../applications/audio/i-score { };
@ -9867,6 +9869,8 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Carbon AudioToolbox;
};
libsnark = callPackage ../development/libraries/libsnark { };
libsodium = callPackage ../development/libraries/libsodium { };
libsoup = callPackage ../development/libraries/libsoup { };

View File

@ -78,6 +78,12 @@ in rec {
sphinx = pkgs.python3Packages.sphinx;
selfPkgs = packages.ghc822;
};
ghc841 = callPackage ../development/compilers/ghc/8.4.1.nix rec {
bootPkgs = packages.ghc821Binary;
inherit (bootPkgs) alex happy;
inherit buildPlatform targetPlatform;
selfPkgs = packages.ghc841;
};
ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
bootPkgs = packages.ghc821Binary;
inherit (bootPkgs) alex happy;
@ -136,6 +142,10 @@ in rec {
ghc = compiler.ghc821Binary;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
};
ghc841 = callPackage ../development/haskell-modules {
ghc = compiler.ghc841;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
};
ghcHEAD = callPackage ../development/haskell-modules {
ghc = compiler.ghcHEAD;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };

View File

@ -205,6 +205,8 @@ in {
dkimpy = callPackage ../development/python-modules/dkimpy { };
diff_cover = callPackage ../development/python-modules/diff_cover { };
emcee = callPackage ../development/python-modules/emcee { };
email_validator = callPackage ../development/python-modules/email-validator { };
@ -281,6 +283,8 @@ in {
pydbus = callPackage ../development/python-modules/pydbus { };
pydocstyle = callPackage ../development/python-modules/pydocstyle { };
pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {});
py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
@ -9471,6 +9475,8 @@ in {
};
};
jinja2_pluralize = callPackage ../development/python-modules/jinja2_pluralize { };
jmespath = buildPythonPackage rec {
name = "jmespath-0.9.0";
@ -10065,6 +10071,26 @@ in {
};
};
mapsplotlib = buildPythonPackage rec {
name = "mapsplotlib-${version}";
version = "1.0.6";
disabled = isPy3k;
src = pkgs.fetchurl {
url = "mirror://pypi/m/mapsplotlib/${name}.tar.gz";
sha256 = "09gpws3x0jd88n636baxx5izjffrpjy4j6jl8l7vj29yzvrdr2bp";
};
propagatedBuildInputs = with self; [ matplotlib scipy pandas requests pillow ];
meta = {
description = "Custom Python plots on a Google Maps background";
homepage = https://github.com/tcassou/mapsplotlib;
maintainers = [ maintainers.rob ];
};
};
markdown = callPackage ../development/python-modules/markdown { };
markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript {};