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 # Libraries
/lib @edolstra @nbp /lib @edolstra @nbp
/lib/systems @edolstra @nbp @ericson2314 /lib/systems @nbp @ericson2314
# Nixpkgs Internals # Nixpkgs Internals
/default.nix @nbp /default.nix @nbp
/pkgs/top-level/default.nix @nbp @Ericson2314 /pkgs/top-level/default.nix @nbp @Ericson2314
/pkgs/top-level/impure.nix @nbp @Ericson2314 /pkgs/top-level/impure.nix @nbp @Ericson2314
/pkgs/top-level/stage.nix @nbp @Ericson2314 /pkgs/top-level/stage.nix @nbp @Ericson2314
/pkgs/stdenv @edolstra /pkgs/stdenv
/pkgs/build-support/cc-wrapper @edolstra @Ericson2314 /pkgs/build-support/cc-wrapper @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper @edolstra @Ericson2314 /pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
/pkgs/build-support/setup-hooks @edolstra @Ericson2314 /pkgs/build-support/setup-hooks @Ericson2314
# NixOS Internals # NixOS Internals
/nixos/default.nix @nbp /nixos/default.nix @nbp

View File

@ -4,11 +4,13 @@
# Usage $0 debian-patches.txt debian-patches.nix # Usage $0 debian-patches.txt debian-patches.nix
# An example input and output files can be found in applications/graphics/xara/ # 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 declare -a deb_patches
mapfile -t deb_patches < $1 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 if [[ -n "$2" ]]; then
exec 1> $2 exec 1> $2

View File

@ -200,6 +200,7 @@
./services/desktops/dleyna-server.nix ./services/desktops/dleyna-server.nix
./services/desktops/geoclue2.nix ./services/desktops/geoclue2.nix
./services/desktops/gnome3/at-spi2-core.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/evolution-data-server.nix
./services/desktops/gnome3/gnome-disks.nix ./services/desktops/gnome3/gnome-disks.nix
./services/desktops/gnome3/gnome-documents.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 let
cfg = config.services.netdata; 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"; defaultUser = "netdata";
in { in {
options = { options = {
services.netdata = { services.netdata = {
enable = mkOption { enable = mkEnableOption "netdata";
default = false;
type = types.bool;
description = "Whether to enable netdata monitoring.";
};
user = mkOption { user = mkOption {
type = types.str; type = types.str;
@ -31,9 +38,9 @@ in {
}; };
configText = mkOption { configText = mkOption {
type = types.lines; type = types.nullOr types.lines;
default = ""; description = "Verbatim netdata.conf, cannot be combined with config.";
description = "netdata.conf configuration."; default = null;
example = '' example = ''
[global] [global]
debug log = syslog 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 { config = mkIf cfg.enable {
assertions =
[ { assertion = cfg.config != {} -> cfg.configText == null ;
message = "Cannot specify both config and configText";
}
];
systemd.services.netdata = { systemd.services.netdata = {
path = with pkgs; [ gawk curl ];
description = "Real time performance monitoring"; description = "Real time performance monitoring";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.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) { users.extraUsers = optional (cfg.user == defaultUser) {
name = defaultUser; name = defaultUser;
}; };

View File

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

View File

@ -16,7 +16,8 @@ let
inherit system; inherit system;
} // args); } // 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 callSubTests = fn: args: let
discover = attrs: let discover = attrs: let
@ -90,9 +91,9 @@ let
makeNetboot = config: makeNetboot = config:
let let
config_evaled = import lib/eval-config.nix config; configEvaled = import lib/eval-config.nix config;
build = config_evaled.config.system.build; build = configEvaled.config.system.build;
kernelTarget = config_evaled.pkgs.stdenv.platform.kernelTarget; kernelTarget = configEvaled.pkgs.stdenv.platform.kernelTarget;
in in
pkgs.symlinkJoin { pkgs.symlinkJoin {
name = "netboot"; name = "netboot";
@ -107,6 +108,7 @@ let
echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
echo "file ipxe $out/netboot.ipxe" >> $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.blivet = callTest tests/blivet.nix {};
tests.boot = callSubTests tests/boot.nix {}; tests.boot = callSubTests tests/boot.nix {};
tests.boot-stage1 = callTest tests/boot-stage1.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.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
tests.cjdns = callTest tests/cjdns.nix {}; tests.cjdns = callTest tests/cjdns.nix {};
tests.cloud-init = callTest tests/cloud-init.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-hosts = callTest tests/containers-hosts.nix {};
tests.containers-macvlans = callTest tests/containers-macvlans.nix {}; tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
tests.couchdb = callTest tests/couchdb.nix {}; tests.couchdb = callTest tests/couchdb.nix {};
tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; }); tests.docker = callTestOnTheseSystems ["x86_64-linux"] tests/docker.nix {};
tests.docker-edge = hydraJob (import tests/docker-edge.nix { system = "x86_64-linux"; }); tests.docker-edge = callTestOnTheseSystems ["x86_64-linux"] tests/docker-edge.nix {};
tests.dovecot = callTest tests/dovecot.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.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-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.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config;
tests.elk = callSubTests tests/elk.nix { system = "x86_64-linux"; }; tests.elk = callSubTests tests/elk.nix { system = "x86_64-linux"; };
@ -255,7 +257,7 @@ in rec {
tests.ferm = callTest tests/ferm.nix {}; tests.ferm = callTest tests/ferm.nix {};
tests.firefox = callTest tests/firefox.nix {}; tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.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.gitlab = callTest tests/gitlab.nix {};
tests.gitolite = callTest tests/gitolite.nix {}; tests.gitolite = callTest tests/gitolite.nix {};
tests.gocd-agent = callTest tests/gocd-agent.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 = callTest tests/nat.nix { withFirewall = true; };
tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; }; tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; };
tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; }; 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.networkd = callSubTests tests/networking.nix { networkd = true; };
tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; }; tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; };
# TODO: put in networking.nix after the test becomes more complete # TODO: put in networking.nix after the test becomes more complete
@ -315,7 +318,7 @@ in rec {
tests.openssh = callTest tests/openssh.nix {}; tests.openssh = callTest tests/openssh.nix {};
tests.owncloud = callTest tests/owncloud.nix {}; tests.owncloud = callTest tests/owncloud.nix {};
tests.pam-oath-login = callTest tests/pam-oath-login.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.peerflix = callTest tests/peerflix.nix {};
tests.php-pcre = callTest tests/php-pcre.nix {}; tests.php-pcre = callTest tests/php-pcre.nix {};
tests.postgresql = callSubTests tests/postgresql.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 ]; propagatedBuildInputs = [ boost kitemmodels ];
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
NIX_CFLAGS_COMPILE = [ CXXFLAGS = [
''-DNIXPKGS_MYSQL_MYSQLD="${lib.getBin mysql}/bin/mysqld"'' ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mysql}/bin/mysqld\"''
''-DNIXPKGS_MYSQL_MYSQLADMIN="${lib.getBin mysql}/bin/mysqladmin"'' ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mysql}/bin/mysqladmin\"''
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB="${lib.getBin mysql}/bin/mysql_install_db"'' ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"''
''-DNIXPKGS_MYSQL_MYSQLCHECK="${lib.getBin mysql}/bin/mysqlcheck"'' ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"''
''-DNIXPKGS_POSTGRES_PG_CTL=""'' ''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
''-DNIXPKGS_POSTGRES_INITDB=""'' ''-DNIXPKGS_POSTGRES_INITDB=\"\"''
]; ];
preConfigure = '' preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIX_OUT=\"$out\"" NIX_CFLAGS_COMPILE+=" -DNIX_OUT=\"$out\""

View File

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

View File

@ -1,23 +1,38 @@
{ stdenv, lib, fetchFromGitHub, removeReferencesTo { stdenv, lib, fetchFromGitHub, removeReferencesTo
, go, libapparmor, apparmor-parser, libseccomp }: , go, libapparmor, apparmor-parser, libseccomp, btrfs-progs }:
with lib; with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "containerd-${version}"; name = "containerd-${version}";
version = "0.2.9"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containerd"; owner = "containerd";
repo = "containerd"; repo = "containerd";
rev = "v${version}"; 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 = '' preBuild = ''
ln -s $(pwd) vendor/src/github.com/containerd/containerd cd go/src/github.com/containerd/containerd
patchShebangs .
''; '';
installPhase = '' installPhase = ''

View File

@ -39,13 +39,6 @@ rec {
hardeningDisable = [ "fortify" ]; hardeningDisable = [ "fortify" ];
buildInputs = [ removeReferencesTo go btrfs-progs ]; 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 { 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 { let
name="chrome-gnome-shell"; version = "9";
src = fetchgit {
url = "git://git.gnome.org/chrome-gnome-shell"; inherit (python3.pkgs) python pygobject3 requests;
rev = "7d99523e90805cb65027cc2f5f1191a957dcf276"; in stdenv.mkDerivation rec {
sha256 = "0qc34dbhsz5yf4z5bx6py08h561rcxw9928drgk9256g3vnygnbc"; 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 nativeBuildInputs = [ cmake ninja jq wrapGAppsHook ];
python python27Packages.requests python27Packages.pygobject3 wrapGAppsHook]; buildInputs = [ gnome3.gnome_shell python pygobject3 requests ];
preConfigure = '' preConfigure = ''
mkdir build usr etc substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc"
cd build
${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out/usr -DBUILD_EXTENSION=OFF ../
substituteInPlace cmake_install.cmake --replace "/etc" "$out/etc"
''; '';
# cmake setup hook changes /etc/opt into /var/empty
dontFixCmake = true;
postInstall = '' cmakeFlags = [ "-DBUILD_EXTENSION=OFF" ];
rm $out/etc/opt/chrome/policies/managed/chrome-gnome-shell.json wrapPrefixVariables = [ "PYTHONPATH" ];
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"
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 = '' postBuild = ''
find . -name 'config' -type f | xargs \ find . -name 'config' -type f | xargs \
sed -i -e "s@libX11.so.6@${libX11.out}/lib/libX11.so.6@g" \ 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 # 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"; name = "git-annex-${drv.version}-src";
url = "git://git-annex.branchable.com/"; url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + drv.version; rev = "refs/tags/" + drv.version;
sha256 = "1fd7lyrwr60dp55swc5iwl0mkkzmdzpmj9qmx1qca2r7y9wc5w5k"; sha256 = "0vvh1k7i6y4bqy6fn8z5i6ndqv6x94hvk2zh5gw99na8kfri7sxq";
}; };
})).override { })).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null; dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -543,11 +543,8 @@ self: super: {
# https://github.com/athanclark/sets/issues/2 # https://github.com/athanclark/sets/issues/2
sets = dontCheck super.sets; sets = dontCheck super.sets;
# Install icons and metadata, remove broken hgettext dependency. # Install icons, metadata and cli program.
# https://github.com/vasylp/hgettext/issues/10
bustle = overrideCabal super.bustle (drv: { bustle = overrideCabal super.bustle (drv: {
configureFlags = drv.configureFlags or [] ++ ["-f-hgettext"];
executableHaskellDepends = pkgs.lib.remove self.hgettext drv.executableHaskellDepends;
buildDepends = [ pkgs.libpcap ]; buildDepends = [ pkgs.libpcap ];
buildTools = with pkgs; [ gettext perl help2man intltool ]; buildTools = with pkgs; [ gettext perl help2man intltool ];
doCheck = false; # https://github.com/wjt/bustle/issues/6 doCheck = false; # https://github.com/wjt/bustle/issues/6
@ -848,8 +845,11 @@ self: super: {
# https://github.com/fpco/stackage/issues/3126 # https://github.com/fpco/stackage/issues/3126
stack = doJailbreak super.stack; stack = doJailbreak super.stack;
# Hoogle needs a newer version than lts-10 provides. # Hoogle needs newer versions than lts-10 provides.
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; }; 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. # These packages depend on each other, forming an infinite loop.
scalendar = markBroken (super.scalendar.override { SCalendar = null; }); 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; 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 /* doCoverage modifies a haskell package to enable the generation
and installation of a coverage report. 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 mkDerivation callPackage haskellSrc2nix hackage2nix;
inherit (haskellLib) packageSourceOverrides;
callHackage = name: version: self.callPackage (self.hackage2nix name version); callHackage = name: version: self.callPackage (self.hackage2nix name version);
# Creates a Haskell package from a source package by calling cabal2nix on the source. # 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; }); }) 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 # : { root : Path
# , source-overrides : Defaulted (Either Path VersionNumber) # , source-overrides : Defaulted (Either Path VersionNumber)
# , overrides : Defaulted (HaskellPackageOverrideSet) # , overrides : Defaulted (HaskellPackageOverrideSet)

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurlBoot, enableThreading ? stdenv ? glibc }: { lib, stdenv, fetchurlBoot, buildPackages, enableThreading ? stdenv ? glibc }:
with lib; with lib;
@ -19,7 +19,8 @@ let
libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr"; libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr";
libcInc = lib.getDev libc; libcInc = lib.getDev libc;
libcLib = lib.getLib 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}"; name = "perl-${version}";
src = fetchurlBoot { src = fetchurlBoot {
@ -50,6 +51,8 @@ let
pwd="$(type -P pwd)" pwd="$(type -P pwd)"
substituteInPlace dist/PathTools/Cwd.pm \ substituteInPlace dist/PathTools/Cwd.pm \
--replace "/bin/pwd" "$pwd" --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 # 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. # contains the string "perl", Configure would select $out/lib.
# Miniperl needs -lm. perl needs -lrt. # Miniperl needs -lm. perl needs -lrt.
configureFlags = configureFlags =
[ "-de" (if crossCompiling
"-Dcc=cc" then [ "-Dlibpth=\"\"" "-Dglibpth=\"\"" ]
else [ "-de" "-Dcc=cc" ])
++ [
"-Uinstallusrbinperl" "-Uinstallusrbinperl"
"-Dinstallstyle=lib/perl5" "-Dinstallstyle=lib/perl5"
"-Duseshrplib" "-Duseshrplib"
@ -69,14 +74,13 @@ let
++ optional stdenv.isSunOS "-Dcc=gcc" ++ optional stdenv.isSunOS "-Dcc=gcc"
++ optional enableThreading "-Dusethreads"; ++ 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" configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
'' + optionalString (stdenv.isArm || stdenv.isMips) '' '' + optionalString (stdenv.isArm || stdenv.isMips) ''
configureFlagsArray=(-Dldflags="-lm -lrt") configureFlagsArray=(-Dldflags="-lm -lrt")
@ -121,7 +125,23 @@ let
maintainers = [ maintainers.eelco ]; maintainers = [ maintainers.eelco ];
platforms = platforms.all; 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 { in rec {
perl = perl524; perl = perl524;

View File

@ -63,15 +63,15 @@ let
mkdir -p $out/share $out/bin mkdir -p $out/share $out/bin
cp pixie-src/pixie-vm $out/share/pixie-vm cp pixie-src/pixie-vm $out/share/pixie-vm
cp -R pixie-src/pixie $out/share/pixie 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 LD_LIBRARY_PATH : ${library-path} \
--prefix C_INCLUDE_PATH : ${include-path} \ --prefix C_INCLUDE_PATH : ${include-path} \
--prefix LIBRARY_PATH : ${library-path} \ --prefix LIBRARY_PATH : ${library-path} \
--prefix PATH : ${bin-path} --prefix PATH : ${bin-path}
cat > $out/bin/pxi <<EOF cat > $out/bin/pxi <<EOF
#!$shell #!$shell
>&2 echo "[\$\$] WARNING: 'pxi' is a deprecated alias for 'pixie-vm', please update your scripts." >&2 echo "[\$\$] WARNING: 'pxi' and 'pixie-vm' are deprecated aliases for 'pixie', please update your scripts."
exec $out/bin/pixie-vm "\$@" exec $out/bin/pixie "\$@"
EOF EOF
chmod +x $out/bin/pxi chmod +x $out/bin/pxi
''; '';
@ -79,7 +79,8 @@ let
description = "A clojure-like lisp, built with the pypy vm toolkit"; description = "A clojure-like lisp, built with the pypy vm toolkit";
homepage = https://github.com/pixie-lang/pixie; homepage = https://github.com/pixie-lang/pixie;
license = stdenv.lib.licenses.lgpl3; 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) 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"; description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
homepage = src.meta.homepage; homepage = src.meta.homepage;
license = stdenv.lib.licenses.lgpl3; 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 # Generated by debian-patches.sh from debian-patches.txt
let 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 in
[ [
{ {

View File

@ -1,2 +1,2 @@
gamin/0.1.10-4 gamin/0.1.10-4.1
17_deprecated_const_return.patch 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 { stdenv.mkDerivation rec {
name = "opensaml-cpp-${version}"; name = "opensaml-cpp-${version}";
version = "2.6.0"; version = "2.6.1";
src = fetchgit { src = fetchgit {
url = "https://git.shibboleth.net/git/cpp-opensaml.git"; url = "https://git.shibboleth.net/git/cpp-opensaml.git";
rev = "61193de29e4c9f1ccff7ed7e1f42c2748c62be77"; rev = version;
sha256 = "1jlxa1f2qn0kd15fzjqp80apxn42v47wg3mx1vk424m31rhi00xr"; sha256 = "0wjb6jyvh4hwpy1pvhh63i821746nqijysrd4vasbirkf4h6z7nx";
}; };
buildInputs = [ boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib ]; buildInputs = [ boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib ];

View File

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

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xml-tooling-c-${version}"; name = "xml-tooling-c-${version}";
version = "1.6.0"; version = "1.6.3";
src = fetchgit { src = fetchgit {
url = "https://git.shibboleth.net/git/cpp-xmltooling.git"; url = "https://git.shibboleth.net/git/cpp-xmltooling.git";
rev = "db08101c3854518a59096be95ed6564838381744"; rev = version;
sha256 = "0rhzvxm4z3pm28kpk34hayhm12bjjms2kygv1z68vnz8ijzgcinq"; sha256 = "09z2pp3yy3kqx22vwgxyi3s0vlpdv9camw8dpi3q8piff6zxak3q";
}; };
buildInputs = [ boost curl openssl log4shib xercesc xml-security-c ]; 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 { stdenv.mkDerivation rec {
name = "yajl-2.1.0"; name = "yajl-2.1.0";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0f6yrjc05aa26wfi7lqn2gslm19m6rm81b30ksllpkappvh162ji"; sha256 = "0f6yrjc05aa26wfi7lqn2gslm19m6rm81b30ksllpkappvh162ji";
}; };
buildInputs = [ cmake ruby ]; nativeBuildInputs = [ cmake ];
meta = { meta = {
description = "Yet Another JSON Library"; 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 { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, fetchpatch
, pytest , pytest
, pretend , pretend
, freezegun , freezegun
@ -16,6 +17,14 @@ buildPythonPackage rec {
sha256 = "6980001045abd235fa12582222627c19b89109e58b85eb77d5a5abc778df6e20"; 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 ]; checkInputs = [ pytest pretend freezegun ];
propagatedBuildInputs = [ simplejson ]; propagatedBuildInputs = [ simplejson ];

View File

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

View File

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

View File

@ -113,13 +113,12 @@ let
"Flask-SocketIO" = python.mkDerivation { "Flask-SocketIO" = python.mkDerivation {
name = "Flask-SocketIO-2.9.2"; name = "Flask-SocketIO-2.9.3";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; }; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/a0/ac/4024b73e071d5a000a998d6f26ba0a090011d5abdc7aa41f2774173c3276/Flask-SocketIO-2.9.3.tar.gz"; sha256 = "df23f790db8529c543bd0b54165215c342cf6955a4a1f605650e759197a46d59"; };
doCheck = commonDoCheck; doCheck = commonDoCheck;
buildInputs = commonBuildInputs; buildInputs = commonBuildInputs;
propagatedBuildInputs = [ propagatedBuildInputs = [
self."Flask" self."Flask"
self."python-engineio"
self."python-socketio" self."python-socketio"
]; ];
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
@ -179,15 +178,15 @@ let
"Werkzeug" = python.mkDerivation { "Werkzeug" = python.mkDerivation {
name = "Werkzeug-0.12.2"; name = "Werkzeug-0.14.1";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; }; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/9f/08/a3bb1c045ec602dc680906fc0261c267bed6b3bb4609430aff92c3888ec8/Werkzeug-0.14.1.tar.gz"; sha256 = "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c"; };
doCheck = commonDoCheck; doCheck = commonDoCheck;
buildInputs = commonBuildInputs; buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ]; propagatedBuildInputs = [ ];
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
homepage = "http://werkzeug.pocoo.org/"; homepage = "https://www.palletsprojects.org/p/werkzeug/";
license = licenses.bsdOriginal; 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 { "gevent" = python.mkDerivation {
name = "gevent-1.2.2"; 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"; }; 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 { "pygdbmi" = python.mkDerivation {
name = "pygdbmi-0.7.4.4"; name = "pygdbmi-0.8.2.0";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; }; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4e/34/a8c86d85e0d3d8df2c289657a55c19408dbdbf0b1468859e7f1a745ae8ff/pygdbmi-0.8.2.0.tar.gz"; sha256 = "47cece65808ca42edf6966ac48e2aedca7ae1c675c4d2f0d001c7f3a7fa245fe"; };
doCheck = commonDoCheck; doCheck = commonDoCheck;
buildInputs = commonBuildInputs; buildInputs = commonBuildInputs;
propagatedBuildInputs = [ ]; 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 { "python-engineio" = python.mkDerivation {
name = "python-engineio-2.0.1"; name = "python-engineio-2.0.2";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; }; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e5/91/f6fd80298e68b4ca22a1a9cc3091116e2fef22fd8fb017ad9e5c6ec6ddcc/python-engineio-2.0.2.tar.gz"; sha256 = "46c710a72c3b2a8511b0d7963c46e200010f8ea3eb0721ce15603d0f23e993c4"; };
doCheck = commonDoCheck; doCheck = commonDoCheck;
buildInputs = commonBuildInputs; buildInputs = commonBuildInputs;
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -355,8 +287,8 @@ let
"python-socketio" = python.mkDerivation { "python-socketio" = python.mkDerivation {
name = "python-socketio-1.8.3"; name = "python-socketio-1.8.4";
src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; }; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/58/a9/52af6a7ad0805977afc838ed394f8d26d078ef61e8c1bdd632801c58ef3a/python-socketio-1.8.4.tar.gz"; sha256 = "13807ce17e85371d15b31295a43b1fac1c0dba1eb5fc233353a3efd53aa122cc"; };
doCheck = commonDoCheck; doCheck = commonDoCheck;
buildInputs = commonBuildInputs; buildInputs = commonBuildInputs;
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -8,33 +8,39 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "supertuxkart-${version}"; name = "supertuxkart-${version}";
version = "0.9.2"; version = "0.9.3";
srcs = [ srcs = [
(fetchFromGitHub { (fetchFromGitHub {
owner = "supertuxkart"; owner = "supertuxkart";
repo = "stk-code"; repo = "stk-code";
rev = version; rev = version;
sha256 = "1zsc5nw8il8xwppk624jampfk6qhqzjnni8zicrhqix0xg07nxca"; sha256 = "1smnanjjaj4yq2ywikv0l6xysh6n2h1cm549plbg5xdk9mx2sfia";
name = dir; name = dir;
}) })
(fetchsvn { (fetchsvn {
url = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets"; 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 rev = "17448";
sha256 = "0j1dy27gxm4hx26xddr2ak6vw0lim0nqmjnszfb4c61y92j12cqp"; sha256 = "0lxbb4k57gv4gj12l5hnvhwdycpzcxjwg7qdfwglj2bdvaxf9f21";
name = "stk-assets"; name = "stk-assets";
}) })
]; ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ cmake gettext libtool pkgconfig ];
buildInputs = [ buildInputs = [
cmake libtool
libX11 libXrandr libX11 libXrandr
openal freealut mesa libvorbis libogg gettext zlib freetype openal freealut mesa libvorbis libogg zlib freetype
curl fribidi bluez libjpeg libpng curl fribidi bluez libjpeg libpng
]; ];
enableParallelBuilding = true; 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; sourceRoot = dir;
meta = with stdenv.lib; { 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)" ]; makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
buildInputs = [ libelf ]; nativeBuildInputs = kernel.moduleBuildDependencies;
hardeningDisable = [ "pic" ]; hardeningDisable = [ "pic" ];

View File

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

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "hdparm-9.52"; name = "hdparm-9.53";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/hdparm/${name}.tar.gz"; 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 { stdenv.mkDerivation {
name = "perf-linux-${kernel.version}"; name = "perf-linux-${kernel.version}";
inherit (kernel) src makeFlags; inherit (kernel) src;
preConfigure = '' preConfigure = ''
cd tools/perf cd tools/perf
@ -39,6 +39,10 @@ stdenv.mkDerivation {
"-Wno-error=unused-const-variable" "-Wno-error=misleading-indentation" "-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"; installFlags = "install install-man ASCIIDOC8=1";
preFixup = '' preFixup = ''

View File

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

View File

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

View File

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

View File

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

View File

@ -3,39 +3,19 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "openafs-${version}-${kernel.version}"; name = "openafs-${version}-${kernel.version}";
version = "1.6.21.1"; version = "1.6.22.1";
src = fetchurl { src = fetchurl {
url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2"; 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 ]; buildInputs = [ ncurses ];
hardeningDisable = [ "pic" ]; 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 = '' preConfigure = ''
ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux

View File

@ -1,14 +1,42 @@
# Generated by debian-patches.sh from debian-patches.txt # Generated by debian-patches.sh from debian-patches.txt
let 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 in
[ [
{
url = "${prefix}/01_AC_PROG_CXX.diff";
sha256 = "0r7xgwbk2yqs7b29gwhr8pnbqvy3a3x698j17s4yg501ragw1gqv";
}
{ {
url = "${prefix}/10_repair_postscript"; url = "${prefix}/10_repair_postscript";
sha256 = "01v4a8mdhgsjxbf9a2xppx2lb05lp818v8afp5x2njv64wpgla8p"; 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"; url = "${prefix}/25_libpng15";
sha256 = "0l640rcsgc2mwpk7iqm0cf3b0gfcdgcn9wg4x88gaqxzx9rriph0"; 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 10_repair_postscript
11_manpages_sb_macro
14_manpage_spline
20_svg_attribute_syntax
21_plot2svg_test.diff
25_libpng15 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 # debian splits this package into plotutils and libplot2c2
@ -13,14 +13,8 @@ stdenv.mkDerivation rec {
sha256 = "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg"; sha256 = "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg";
}; };
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libpng ]; 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); patches = map fetchurl (import ./debian-patches.nix);
configureFlags = "--enable-libplotter"; # required for pstoedit configureFlags = "--enable-libplotter"; # required for pstoedit
@ -29,6 +23,8 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
enableParallelBuilding = true;
meta = { meta = {
description = "Powerful C/C++ library for exporting 2D vector graphics"; description = "Powerful C/C++ library for exporting 2D vector graphics";

View File

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

View File

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

View File

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

View File

@ -78,6 +78,12 @@ in rec {
sphinx = pkgs.python3Packages.sphinx; sphinx = pkgs.python3Packages.sphinx;
selfPkgs = packages.ghc822; 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 { ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
bootPkgs = packages.ghc821Binary; bootPkgs = packages.ghc821Binary;
inherit (bootPkgs) alex happy; inherit (bootPkgs) alex happy;
@ -136,6 +142,10 @@ in rec {
ghc = compiler.ghc821Binary; ghc = compiler.ghc821Binary;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { }; 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 { ghcHEAD = callPackage ../development/haskell-modules {
ghc = compiler.ghcHEAD; ghc = compiler.ghcHEAD;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };

View File

@ -205,6 +205,8 @@ in {
dkimpy = callPackage ../development/python-modules/dkimpy { }; dkimpy = callPackage ../development/python-modules/dkimpy { };
diff_cover = callPackage ../development/python-modules/diff_cover { };
emcee = callPackage ../development/python-modules/emcee { }; emcee = callPackage ../development/python-modules/emcee { };
email_validator = callPackage ../development/python-modules/email-validator { }; email_validator = callPackage ../development/python-modules/email-validator { };
@ -281,6 +283,8 @@ in {
pydbus = callPackage ../development/python-modules/pydbus { }; pydbus = callPackage ../development/python-modules/pydbus { };
pydocstyle = callPackage ../development/python-modules/pydocstyle { };
pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {}); pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {});
py3exiv2 = callPackage ../development/python-modules/py3exiv2 { }; py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
@ -9471,6 +9475,8 @@ in {
}; };
}; };
jinja2_pluralize = callPackage ../development/python-modules/jinja2_pluralize { };
jmespath = buildPythonPackage rec { jmespath = buildPythonPackage rec {
name = "jmespath-0.9.0"; 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 { }; markdown = callPackage ../development/python-modules/markdown { };
markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript {}; markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript {};