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

This commit is contained in:
Frederik Rietdijk 2018-02-18 20:06:31 +01:00
commit 5d4012b0cc
71 changed files with 1316 additions and 145 deletions

View File

@ -2,7 +2,7 @@
let let
spdx = lic: lic // { spdx = lic: lic // {
url = "http://spdx.org/licenses/${lic.spdxId}"; url = "http://spdx.org/licenses/${lic.spdxId}.html";
}; };
in in
@ -580,6 +580,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "Vovida Software License v1.0"; fullName = "Vovida Software License v1.0";
}; };
watcom = spdx {
spdxId = "Watcom-1.0";
fullName = "Sybase Open Watcom Public License 1.0";
};
w3c = spdx { w3c = spdx {
spdxId = "W3C"; spdxId = "W3C";
fullName = "W3C Software Notice and License"; fullName = "W3C Software Notice and License";
@ -614,5 +619,4 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
spdxId = "ZPL-2.1"; spdxId = "ZPL-2.1";
fullName = "Zope Public License 2.1"; fullName = "Zope Public License 2.1";
}; };
} }

View File

@ -496,6 +496,7 @@
nicknovitski = "Nick Novitski <nixpkgs@nicknovitski.com>"; nicknovitski = "Nick Novitski <nixpkgs@nicknovitski.com>";
nico202 = "Nicolò Balzarotti <anothersms@gmail.com>"; nico202 = "Nicolò Balzarotti <anothersms@gmail.com>";
NikolaMandic = "Ratko Mladic <nikola@mandic.email>"; NikolaMandic = "Ratko Mladic <nikola@mandic.email>";
ninjatrappeur = "Félix Baylac-Jacqué <felix@alternativebit.fr>";
nipav = "Niko Pavlinek <niko.pavlinek@gmail.com>"; nipav = "Niko Pavlinek <niko.pavlinek@gmail.com>";
nixy = "Andrew R. M. <nixy@nixy.moe>"; nixy = "Andrew R. M. <nixy@nixy.moe>";
nmattia = "Nicolas Mattia <nicolas@nmattia.com>"; nmattia = "Nicolas Mattia <nicolas@nmattia.com>";

View File

@ -694,6 +694,7 @@
./services/x11/xserver.nix ./services/x11/xserver.nix
./system/activation/activation-script.nix ./system/activation/activation-script.nix
./system/activation/top-level.nix ./system/activation/top-level.nix
./system/boot/binfmt.nix
./system/boot/coredump.nix ./system/boot/coredump.nix
./system/boot/emergency-mode.nix ./system/boot/emergency-mode.nix
./system/boot/grow-partition.nix ./system/boot/grow-partition.nix

View File

@ -414,7 +414,10 @@ in
postmasterAlias = mkOption { postmasterAlias = mkOption {
type = types.str; type = types.str;
default = "root"; default = "root";
description = "Who should receive postmaster e-mail."; description = "
Who should receive postmaster e-mail. Multiple values can be added by
separating values with comma.
";
}; };
rootAlias = mkOption { rootAlias = mkOption {
@ -422,6 +425,7 @@ in
default = ""; default = "";
description = " description = "
Who should receive root e-mail. Blank for no redirection. Who should receive root e-mail. Blank for no redirection.
Multiple values can be added by separating values with comma.
"; ";
}; };

View File

@ -0,0 +1,139 @@
{ config, lib, ... }:
let
inherit (lib) mkOption types optionalString;
cfg = config.boot.binfmtMiscRegistrations;
makeBinfmtLine = name: { recognitionType, offset, magicOrExtension
, mask, preserveArgvZero, openBinary
, matchCredentials, fixBinary, ...
}: let
type = if recognitionType == "magic" then "M" else "E";
offset' = toString offset;
mask' = toString mask;
interpreter = "/run/binfmt/${name}";
flags = if !(matchCredentials -> openBinary)
then throw "boot.binfmtMiscRegistrations.${name}: you can't specify openBinary = false when matchCredentials = true."
else optionalString preserveArgvZero "P" +
optionalString (openBinary && !matchCredentials) "O" +
optionalString matchCredentials "C" +
optionalString fixBinary "F";
in ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}";
binfmtFile = builtins.toFile "binfmt_nixos.conf"
(lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine cfg));
activationSnippet = name: { interpreter, ... }:
"ln -sf ${interpreter} /run/binfmt/${name}";
activationScript = ''
mkdir -p -m 0755 /run/binfmt
${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet cfg)}
'';
in {
options = {
boot.binfmtMiscRegistrations = mkOption {
default = {};
description = ''
Extra binary formats to register with the kernel.
See https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html for more details.
'';
type = types.attrsOf (types.submodule ({ config, ... }: {
options = {
recognitionType = mkOption {
default = "magic";
description = "Whether to recognize executables by magic number or extension.";
type = types.enum [ "magic" "extension" ];
};
offset = mkOption {
default = null;
description = "The byte offset of the magic number used for recognition.";
type = types.nullOr types.int;
};
magicOrExtension = mkOption {
description = "The magic number or extension to match on.";
type = types.str;
};
mask = mkOption {
default = null;
description =
"A mask to be ANDed with the byte sequence of the file before matching";
type = types.nullOr types.str;
};
interpreter = mkOption {
description = ''
The interpreter to invoke to run the program.
Note that the actual registration will point to
/run/binfmt/''${name}, so the kernel interpreter length
limit doesn't apply.
'';
type = types.path;
};
preserveArgvZero = mkOption {
default = false;
description = ''
Whether to pass the original argv[0] to the interpreter.
See the description of the 'P' flag in the kernel docs
for more details;
'';
type = types.bool;
};
openBinary = mkOption {
default = config.matchCredentials;
description = ''
Whether to pass the binary to the interpreter as an open
file descriptor, instead of a path.
'';
type = types.bool;
};
matchCredentials = mkOption {
default = false;
description = ''
Whether to launch with the credentials and security
token of the binary, not the interpreter (e.g. setuid
bit).
See the description of the 'C' flag in the kernel docs
for more details.
Implies/requires openBinary = true.
'';
type = types.bool;
};
fixBinary = mkOption {
default = false;
description = ''
Whether to open the interpreter file as soon as the
registration is loaded, rather than waiting for a
relevant file to be invoked.
See the description of the 'F' flag in the kernel docs
for more details.
'';
type = types.bool;
};
};
}));
};
};
config = lib.mkIf (cfg != {}) {
environment.etc."binfmt.d/nixos.conf".source = binfmtFile;
system.activationScripts.binfmt = activationScript;
systemd.additionalUpstreamSystemUnits =
[ "proc-sys-fs-binfmt_misc.automount"
"proc-sys-fs-binfmt_misc.mount"
];
};
}

View File

@ -2,17 +2,27 @@ import ./make-test.nix ({ pkgs, ... }:
let let
configDir = "/var/lib/foobar"; configDir = "/var/lib/foobar";
apiPassword = "secret";
in { in {
name = "home-assistant"; name = "home-assistant";
meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ dotlambda ];
};
nodes = { nodes = {
hass = hass =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [
mosquitto
];
services.home-assistant = { services.home-assistant = {
inherit configDir; inherit configDir;
enable = true; enable = true;
package = pkgs.home-assistant.override {
extraPackages = ps: with ps; [ hbmqtt ];
};
config = { config = {
homeassistant = { homeassistant = {
name = "Home"; name = "Home";
@ -22,7 +32,16 @@ in {
elevation = 0; elevation = 0;
}; };
frontend = { }; frontend = { };
http = { }; http.api_password = apiPassword;
mqtt = { }; # Use hbmqtt as broker
binary_sensor = [
{
platform = "mqtt";
state_topic = "home-assistant/test";
payload_on = "let_there_be_light";
payload_off = "off";
}
];
}; };
}; };
}; };
@ -39,8 +58,19 @@ in {
# Check that Home Assistant's web interface and API can be reached # Check that Home Assistant's web interface and API can be reached
$hass->waitForOpenPort(8123); $hass->waitForOpenPort(8123);
$hass->succeed("curl --fail http://localhost:8123/states"); $hass->succeed("curl --fail http://localhost:8123/states");
$hass->succeed("curl --fail http://localhost:8123/api/ | grep 'API running'"); $hass->succeed("curl --fail -H 'x-ha-access: ${apiPassword}' http://localhost:8123/api/ | grep -qF 'API running'");
# Toggle a binary sensor using MQTT
$hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"off\"'");
$hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${apiPassword}' -m let_there_be_light");
$hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'");
# Check that no errors were logged
$hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR"); $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR");
# Print log to ease debugging
my $log = $hass->succeed("cat ${configDir}/home-assistant.log");
print "\n### home-assistant.log ###\n";
print "$log\n";
''; '';
}) })

View File

@ -530,7 +530,7 @@ let
$client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1"); $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1");
# Test address used is temporary # Test address used is temporary
$client->succeed("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"); $client->waitUntilSucceeds("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'");
''; '';
}; };
}; };

View File

@ -2,7 +2,7 @@
makeWrapper, libXScrnSaver, libxkbfile, libsecret }: makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
let let
version = "1.20.0"; version = "1.20.1";
channel = "stable"; channel = "stable";
plat = { plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system}; }.${stdenv.system};
sha256 = { sha256 = {
"i686-linux" = "0lhfljcdb05v0p3kc6zimgd2z057397blfp56bhr7v7wnsi6i40k"; "i686-linux" = "0gycz857bl9ikfrylim970qgmyw7rcy3gbg2zsjddp9cgdk9basn";
"x86_64-linux" = "138kvqa5cixry62yry0lwzxlk9fs8hb4zqzmsd8ag1jjfma8y45k"; "x86_64-linux" = "0rx0qyxv173s9wjw97f94h61f12lh42grnmabgsvwd87b8zx4qim";
"x86_64-darwin" = "1adnwlqf2kw8wfjf86a3xg83j1yqnlsdckksw82b06x3j11g91i8"; "x86_64-darwin" = "0mqxmmkp3bsmy1g35prsgan61zzq5368gp720v37cwx1rskl0bfg";
}.${stdenv.system}; }.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";

View File

@ -54,14 +54,13 @@ let
in pythonPackages.buildPythonApplication rec { in pythonPackages.buildPythonApplication rec {
name = "OctoPrint-${version}"; name = "OctoPrint-${version}";
version = "1.3.5"; version = "1.3.6";
# 1.3.5, 2017-10-16, 77753ca02602d3a798d6b0a22535e6fd69ff448a
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "foosel"; owner = "foosel";
repo = "OctoPrint"; repo = "OctoPrint";
rev = version; rev = version;
sha256 = "13krv9i6gm4jn4cb327q4qma4xwwashjnc0dia8vlnbjbbvkrni4"; sha256 = "0pgpkjw5zjnks5bky51gjaksq8mhrzkl52kpgf799hl35pd08xr3";
}; };
# We need old Tornado # We need old Tornado
@ -70,7 +69,7 @@ in pythonPackages.buildPythonApplication rec {
semantic-version flask_principal werkzeug flaskbabel tornado semantic-version flask_principal werkzeug flaskbabel tornado
psutil pyserial flask_login netaddr markdown sockjs-tornado psutil pyserial flask_login netaddr markdown sockjs-tornado
pylru pyyaml sarge feedparser netifaces click websocket_client pylru pyyaml sarge feedparser netifaces click websocket_client
scandir chainmap future dateutil futures wrapt scandir chainmap future dateutil futures wrapt monotonic emoji
]; ];
buildInputs = with pythonPackages; [ nose mock ddt ]; buildInputs = with pythonPackages; [ nose mock ddt ];

View File

@ -41,7 +41,10 @@ stdenv.mkDerivation rec {
pythonPath = [ pygobject3 pyxdg ]; pythonPath = [ pygobject3 pyxdg ];
preConfigure = "./bootstrap"; preConfigure = "./bootstrap";
postFixup = "wrapPythonPrograms"; postFixup = ''
wrapPythonPrograms
rm "$out/share/icons/hicolor/icon-theme.cache"
'';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -71,7 +71,7 @@ let
++ lib.optionals (cfg.enableQuakeLive or false) ++ lib.optionals (cfg.enableQuakeLive or false)
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib libudev ]) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib libudev ])
++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
++ lib.optional (config.pulseaudio or false) libpulseaudio; ++ lib.optional (config.pulseaudio or true) libpulseaudio;
gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ]; gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
gtk_modules = [ libcanberra_gtk2 ]; gtk_modules = [ libcanberra_gtk2 ];

View File

@ -10,14 +10,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "palemoon-${version}"; name = "palemoon-${version}";
version = "27.6.2"; version = "27.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
name = "palemoon-src"; name = "palemoon-src";
owner = "MoonchildProductions"; owner = "MoonchildProductions";
repo = "Pale-Moon"; repo = "Pale-Moon";
rev = version + "_Release"; rev = version + "_Release";
sha256 = "0ickxrwl36iyqj3v9qq6hnfl2y652f2ppwi949pfh4f6shm9x0ri"; sha256 = "19ki6gp6bhcvhjnclalviiyp93mqsgc22xjl0gm9x5y4sxdb5wlq";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -101,10 +101,20 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A web browser"; description = "A web browser";
longDescription = ''
Pale Moon is an Open Source, Goanna-based web browser focusing on
efficiency and customization.
Pale Moon offers you a browsing experience in a browser completely built
from its own, independently developed source that has been forked off from
Firefox/Mozilla code a number of years ago, with carefully selected
features and optimizations to improve the browser's stability and user
experience, while offering full customization and a growing collection of
extensions and themes to make the browser truly your own.
'';
homepage = https://www.palemoon.org/; homepage = https://www.palemoon.org/;
license = licenses.mpl20; license = licenses.mpl20;
maintainers = with maintainers; [ rnhmjoj ]; maintainers = with maintainers; [ rnhmjoj AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -28,6 +28,7 @@ in stdenv.mkDerivation rec {
pythonPath = with python3Packages; [ pygobject3 pycairo ]; pythonPath = with python3Packages; [ pygobject3 pycairo ];
preFixup = '' preFixup = ''
rm "$out/share/icons/hicolor/icon-theme.cache"
buildPythonPath "$out $pythonPath" buildPythonPath "$out $pythonPath"
gappsWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH") gappsWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH")
''; '';

View File

@ -18,8 +18,8 @@
with stdenv.lib; with stdenv.lib;
let let
version = "2.11.0"; version = "2.11.1";
sha256 = "1jvzw6rdhimn583dz6an8xiw07n3ycvxmj3jpv1s312scv3k9w64"; sha256 = "1jrcff0szyjxc3vywyiclwdzk0xgq4cxvjbvmcfyjcpdrq9j5pyr";
audio = optionalString (hasSuffix "linux" stdenv.system) "alsa," audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+ optionalString pulseSupport "pa," + optionalString pulseSupport "pa,"
+ optionalString sdlSupport "sdl,"; + optionalString sdlSupport "sdl,";

View File

@ -0,0 +1,20 @@
{ qemu, fetchFromGitHub, lib }: let
src = fetchFromGitHub {
owner = "riscv";
repo = "riscv-qemu";
rev = "af435b709d4a5de3ec2e59ff4dcd05b0b295a730";
sha256 = "1kqcsn8yfdg3zyd991i4v5dxznd1l4a4hjry9304lvsm3sz2wllw";
fetchSubmodules = true;
};
version = "2.11.50";
revCount = "58771";
shortRev = "af435b709d";
targets = [ "riscv32-linux-user" "riscv32-softmmu"
"riscv64-linux-user" "riscv64-softmmu"
];
in lib.overrideDerivation qemu (orig: {
name = "${(builtins.parseDrvName qemu.name).name}-${version}pre${revCount}_${shortRev}";
inherit src;
configureFlags = orig.configureFlags ++ [ "--target-list=${lib.concatStringsSep "," targets}" ];
postInstall = null;
})

View File

@ -49,15 +49,9 @@ callPackage (import ./generic.nix (rec {
src = fetchgit { src = fetchgit {
url = https://xenbits.xen.org/git-http/qemu-xen.git; url = https://xenbits.xen.org/git-http/qemu-xen.git;
rev = "refs/tags/qemu-xen-${version}"; rev = "refs/tags/qemu-xen-${version}";
sha256 = "1v19pp86kcgwvsbkrdrn4rlaj02i4054avw8k70w1m0rnwgcsdbs"; sha256 = "1l4sygd8p0mc13bskr4r1m31qh1kr58h195qn1s52869s58jyhvm";
}; };
buildInputs = qemuDeps; buildInputs = qemuDeps;
patches = [
(xsaPatch {
name = "216-qemuu";
sha256 = "06w2iw1r5gip2bpbg19cziws965h9in0f6np74cr31f76yy30yxn";
})
];
meta.description = "Xen's fork of upstream Qemu"; meta.description = "Xen's fork of upstream Qemu";
}; };
} // optionalAttrs withInternalTraditionalQemu { } // optionalAttrs withInternalTraditionalQemu {

View File

@ -58,10 +58,6 @@ rec {
}; };
xen_4_8-vanilla = callPackage ./4.8.nix { xen_4_8-vanilla = callPackage ./4.8.nix {
# At the very least included seabios and etherboot need gcc49,
# so we have to build all of it with gcc49.
stdenv = overrideCC stdenv gcc49;
meta = { meta = {
description = "vanilla"; description = "vanilla";
longDescription = '' longDescription = ''

View File

@ -74,7 +74,7 @@ fi
if [ -z "$newHash" ]; then if [ -z "$newHash" ]; then
nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true
# FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed # FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed
newHash=$(egrep -v "killing process|dependencies couldn't be built" "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash \(.*\) when .* was expected|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'~\1\2~" | head -n1) newHash=$(egrep -v "killing process|dependencies couldn't be built" "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash \(.*\) when .* was expected\|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'~\1\2~" | head -n1)
fi fi
if [ -z "$newHash" ]; then if [ -z "$newHash" ]; then

View File

@ -0,0 +1,38 @@
{ stdenv, fetchurl } :
let
major = "3";
minor = "00";
version = "${major}.${minor}";
in
stdenv.mkDerivation rec {
name = "fixedsys-excelsior-${version}";
src = fetchurl {
url = http://www.fixedsysexcelsior.com/fonts/FSEX300.ttf;
sha256 = "6ee0f3573bc5e33e93b616ef6282f49bc0e227a31aa753ac76ed2e3f3d02056d";
};
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/share/fonts/truetype/
cp $src $out/share/fonts/truetype/${name}.ttf
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37";
meta = {
description = "Pan-unicode version of Fixedsys, a classic DOS font.";
homepage = http://www.fixedsysexcelsior.com/;
platforms = stdenv.lib.platforms.all;
license = stdenv.lib.licenses.publicDomain;
maintainers = [ stdenv.lib.maintainers.ninjatrappeur ];
};
}

View File

@ -1,20 +1,18 @@
{ stdenv, fetchzip }: { stdenv, fetchzip }:
let let
version = "2.020"; version = "3.002";
in fetchzip rec { in fetchzip rec {
name = "hack-font-${version}"; name = "hack-font-${version}";
url = let url = "https://github.com/chrissimpkins/Hack/releases/download/v${version}/Hack-v${version}-ttf.zip";
version_ = with stdenv.lib; concatStringsSep "_" (splitString "." version);
in "https://github.com/chrissimpkins/Hack/releases/download/v${version}/Hack-v${version_}-ttf.zip";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts mkdir -p $out/share/fonts
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/hack unzip -j $downloadedFile \*.ttf -d $out/share/fonts/hack
''; '';
sha256 = "0cpsglb9vnhmpsn496aqisfvmq3yxvjnj7c361dspy0fn6z8x60c"; sha256 = "11f3hl4nvxq6pvsmwr1c1r5wrxhrp7ixr5bshrz2dmqn7l8bxa63";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A typeface designed for source code"; description = "A typeface designed for source code";
@ -25,7 +23,7 @@ in fetchzip rec {
The face has been re-designed with a larger glyph set, modifications of The face has been re-designed with a larger glyph set, modifications of
the original glyph shapes, and meticulous attention to metrics. the original glyph shapes, and meticulous attention to metrics.
''; '';
homepage = http://sourcefoundry.org/hack/; homepage = https://sourcefoundry.org/hack/;
/* /*
"The font binaries are released under a license that permits unlimited "The font binaries are released under a license that permits unlimited
@ -36,6 +34,7 @@ in fetchzip rec {
the license is available in LICENSE.md" (From the GitHub page) the license is available in LICENSE.md" (From the GitHub page)
*/ */
license = licenses.free; license = licenses.free;
maintainers = with maintainers; [ dywedir ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub
, cmake }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "jwasm-${version}";
version = "git-2017-11-22";
src = fetchFromGitHub {
owner = "JWasm";
repo = "JWasm";
rev = "26f97c8b5c9d9341ec45538701116fa3649b7766";
sha256 = "0m972pc8vk8s9yv1pi85fsjgm6hj24gab7nalw2q04l0359nqi7w";
};
nativeBuildInputs = [ cmake ];
installPhase = "mkdir -p $out/bin ; cp jwasm $out/bin/";
meta = {
description = "A MASM-compatible x86 assembler";
homepage = http://jwasm.github.io/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.darwin ++ platforms.linux;
};
}

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sbcl-${version}"; name = "sbcl-${version}";
version = "1.4.3"; version = "1.4.4";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "1z8d11k6vc6jhmpwzy0nawj84qdd2jvibrvqmb1nmq3h8w64hlam"; sha256 = "1k6v5b8qv7vyxvh8asx6phf2hbapx5pp5p5j47hgnq123fwnh4fa";
}; };
patchPhase = '' patchPhase = ''

View File

@ -3,6 +3,7 @@
apis ? ["*"] apis ? ["*"]
, # Whether to enable AWS' custom memory management. , # Whether to enable AWS' custom memory management.
customMemoryManagement ? true customMemoryManagement ? true
, darwin
}: }:
let let
@ -29,7 +30,11 @@ in stdenv.mkDerivation rec {
separateDebugInfo = stdenv.isLinux; separateDebugInfo = stdenv.isLinux;
nativeBuildInputs = [ cmake curl ]; nativeBuildInputs = [ cmake curl ];
buildInputs = [ zlib curl openssl ]; buildInputs = [ zlib curl openssl ]
++ lib.optionals (stdenv.isDarwin &&
((builtins.elem "text-to-speech" apis) ||
(builtins.elem "*" apis)))
(with darwin.apple_sdk.frameworks; [ CoreAudio AudioToolbox ]);
cmakeFlags = cmakeFlags =
lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0" lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0"

View File

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, cmake, catch }:
stdenv.mkDerivation rec {
pname = "GSL-unstable";
version = "2017-02-15";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "Microsoft";
repo = "GSL";
rev = "c87c123d1b3e64ae2cf725584f0c004da4d90f1c";
sha256 = "0h8py468bvxnydkjs352d7a9s8hk0ihc7msjkcnzj2d7nzp5nsc1";
};
nativeBuildInputs = [ cmake catch ];
meta = with stdenv.lib; {
homepage = https://github.com/Microsoft/GSL;
description = "C++ Core Guideline support library";
longDescription = ''
The Guideline Support Library (GSL) contains functions and types that are suggested for
use by the C++ Core Guidelines maintained by the Standard C++ Foundation.
This package contains Microsoft's implementation of GSL.
'';
platforms = stdenv.lib.platforms.unix;
license = licenses.mit;
maintainers = with maintainers; [ yuriaisaka ];
};
}

View File

@ -231,11 +231,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}"; name = "ffmpeg-full-${version}";
version = "3.4.1"; version = "3.4.2";
src = fetchurl { src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "1h4iz7q10wj04awr2wvmp60n7b09pfwrgwbbw9sgl7klcf52fxss"; sha256 = "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib";
}; };
prePatch = '' prePatch = ''

View File

@ -6,7 +6,7 @@
callPackage ./generic.nix (args // rec { callPackage ./generic.nix (args // rec {
version = "${branch}"; version = "${branch}";
branch = "3.4.1"; branch = "3.4.2";
sha256 = "0b2aaxx8l7g3pvs4zd3mzig44cc73savrxzfm6w0lnaa2lh3wi7k"; sha256 = "0nkq4451masmzlx3p4vprqwc0sl2iwqxbzjrngmvj29q4azp00zb";
darwinFrameworks = [ Cocoa CoreMedia ]; darwinFrameworks = [ Cocoa CoreMedia ];
}) })

View File

@ -1,14 +1,20 @@
{ stdenv, fetchurl { stdenv, fetchurl
, pkgconfig , pkgconfig
, python3 , python3Packages
, wrapGAppsHook
, atk
, dbus_libs , dbus_libs
, evemu , evemu
, frame , frame
, gdk_pixbuf
, gobjectIntrospection
, grail , grail
, gtk3
, libX11 , libX11
, libXext , libXext
, libXi , libXi
, libXtst , libXtst
, pango
, xorgserver , xorgserver
}: }:
@ -25,8 +31,23 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-Wno-format -Wno-misleading-indentation -Wno-error"; NIX_CFLAGS_COMPILE = "-Wno-format -Wno-misleading-indentation -Wno-error";
nativeBuildInputs = [ pkgconfig ]; pythonPath = with python3Packages;
buildInputs = [ python3 dbus_libs evemu frame grail libX11 libXext libXi libXtst xorgserver ]; [ pygobject3 ];
nativeBuildInputs = [ pkgconfig wrapGAppsHook python3Packages.wrapPython];
buildInputs = [ atk dbus_libs evemu frame gdk_pixbuf gobjectIntrospection grail
gtk3 libX11 libXext libXi libXtst pango python3Packages.python xorgserver
];
patchPhase = ''
substituteInPlace python/geis/geis_v2.py --replace \
"ctypes.util.find_library(\"geis\")" "'$out/lib/libgeis.so'"
'';
preFixup = ''
buildPythonPath "$out $pythonPath"
gappsWrapperArgs+=(--set PYTHONPATH "$program_PYTHONPATH")
'';
meta = { meta = {
description = "A library for input gesture recognition"; description = "A library for input gesture recognition";

View File

@ -0,0 +1,101 @@
{ stdenv, callPackage
, withLinuxHeaders ? true
, installLocales ? true
, profilingLibraries ? false
, withGd ? false
}:
assert stdenv.cc.isGNU;
callPackage ./common-2.27.nix { inherit stdenv; } {
name = "glibc" + stdenv.lib.optionalString withGd "-gd";
inherit withLinuxHeaders profilingLibraries installLocales withGd;
NIX_NO_SELF_RPATH = true;
postConfigure = ''
# Hack: get rid of the `-static' flag set by the bootstrap stdenv.
# This has to be done *after* `configure' because it builds some
# test binaries.
export NIX_CFLAGS_LINK=
export NIX_LDFLAGS_BEFORE=
export NIX_DONT_SET_RPATH=1
unset CFLAGS
# Apparently --bindir is not respected.
makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin")
'';
# The stackprotector and fortify hardening flags are autodetected by glibc
# and enabled by default if supported. Setting it for every gcc invocation
# does not work.
hardeningDisable = [ "stackprotector" "fortify" ];
# When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
# any program we run, because the gcc will have been placed at a new
# store path than that determined when built (as a source for the
# bootstrap-tools tarball)
# Building from a proper gcc staying in the path where it was installed,
# libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
# any special hack.
preInstall = ''
if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then
mkdir -p $out/lib
cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
# the .so It used to be a symlink, but now it is a script
cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so
fi
'';
postInstall = ''
if test -n "$installLocales"; then
make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales
fi
test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
if test -n "$linuxHeaders"; then
# Include the Linux kernel headers in Glibc, except the `scsi'
# subdirectory, which Glibc provides itself.
(cd $dev/include && \
ln -sv $(ls -d $linuxHeaders/include/* | grep -v scsi\$) .)
fi
# Fix for NIXOS-54 (ldd not working on x86_64). Make a symlink
# "lib64" to "lib".
if test -n "$is64bit"; then
ln -s lib $out/lib64
fi
# Get rid of more unnecessary stuff.
rm -rf $out/var $bin/bin/sln
# For some reason these aren't stripped otherwise and retain reference
# to bootstrap-tools; on cross-arm this stripping would break objects.
if [ -z "$crossConfig" ]; then
for i in "$out"/lib/*.a; do
[ "$i" = "$out/lib/libm.a" ] || strip -S "$i"
done
fi
# Put libraries for static linking in a separate output. Note
# that libc_nonshared.a and libpthread_nonshared.a are required
# for dynamically-linked applications.
mkdir -p $static/lib
mv $out/lib/*.a $static/lib
mv $static/lib/lib*_nonshared.a $out/lib
# Some of *.a files are linker scripts where moving broke the paths.
sed "/^GROUP/s|$out/lib/lib|$static/lib/lib|g" \
-i "$static"/lib/*.a
# Work around a Nix bug: hard links across outputs cause a build failure.
cp $bin/bin/getconf $bin/bin/getconf_
mv $bin/bin/getconf_ $bin/bin/getconf
'';
separateDebugInfo = true;
meta.description = "The GNU C Library";
}

View File

@ -0,0 +1,208 @@
/* Build configuration used to build glibc, Info files, and locale
information. */
{ stdenv, lib
, buildPlatform, hostPlatform
, buildPackages
, fetchurl
, linuxHeaders ? null
, gd ? null, libpng ? null
, bison
}:
{ name
, withLinuxHeaders ? false
, profilingLibraries ? false
, installLocales ? false
, withGd ? false
, meta
, ...
} @ args:
let
version = "2.27";
patchSuffix = "";
sha256 = "0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji";
cross = if buildPlatform != hostPlatform then hostPlatform else null;
in
assert withLinuxHeaders -> linuxHeaders != null;
assert withGd -> gd != null && libpng != null;
stdenv.mkDerivation ({
inherit installLocales;
linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
# The host/target system.
crossConfig = if cross != null then cross.config else null;
inherit (stdenv) is64bit;
enableParallelBuilding = true;
patches =
[
/* Have rpcgen(1) look for cpp(1) in $PATH. */
./rpcgen-path.patch
/* Allow NixOS and Nix to handle the locale-archive. */
./nix-locale-archive-2.27.patch
/* Don't use /etc/ld.so.cache, for non-NixOS systems. */
./dont-use-system-ld-so-cache-2.27.patch
/* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload. */
./dont-use-system-ld-so-preload.patch
/* The command "getconf CS_PATH" returns the default search path
"/bin:/usr/bin", which is inappropriate on NixOS machines. This
patch extends the search path by "/run/current-system/sw/bin". */
./fix_path_attribute_in_getconf.patch
/* Allow running with RHEL 6 -like kernels. The patch adds an exception
for glibc to accept 2.6.32 and to tag the ELFs as 2.6.32-compatible
(otherwise the loader would refuse libc).
Note that glibc will fully work only on their heavily patched kernels
and we lose early mismatch detection on 2.6.32.
On major glibc updates we should check that the patched kernel supports
all the required features. ATM it's verified up to glibc-2.26-131.
# HOWTO: check glibc sources for changes in kernel requirements
git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h
# get kernel sources (update the URL)
mkdir tmp && cd tmp
curl http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm | rpm2cpio - | cpio -idmv
tar xf linux-*.bz2
# check syscall presence, for example
less linux-*?/arch/x86/kernel/syscall_table_32.S
*/
./allow-kernel-2.6.32.patch
]
++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch;
postPatch =
''
# Needed for glibc to build with the gnumake 3.82
# http://comments.gmane.org/gmane.linux.lfs.support/31227
sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
# nscd needs libgcc, and we don't want it dynamically linked
# because we don't want it to depend on bootstrap-tools libs.
echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
'';
configureFlags =
[ "-C"
"--enable-add-ons"
"--enable-obsolete-nsl"
"--enable-obsolete-rpc"
"--sysconfdir=/etc"
"--enable-stackguard-randomization"
(if withLinuxHeaders
then "--with-headers=${linuxHeaders}/include"
else "--without-headers")
(if profilingLibraries
then "--enable-profile"
else "--disable-profile")
] ++ lib.optionals withLinuxHeaders [
"--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
] ++ lib.optionals (cross != null) [
(if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
] ++ lib.optionals (cross != null) [
"--with-__thread"
] ++ lib.optionals (cross == null && stdenv.isArm) [
"--host=arm-linux-gnueabi"
"--build=arm-linux-gnueabi"
# To avoid linking with -lgcc_s (dynamic link)
# so the glibc does not depend on its compiler store path
"libc_cv_as_needed=no"
] ++ lib.optional withGd "--with-gd";
installFlags = [ "sysconfdir=$(out)/etc" ];
outputs = [ "out" "bin" "dev" "static" ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ bison ];
buildInputs = lib.optionals withGd [ gd libpng ];
# Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to
# prevent a retained dependency on the bootstrap tools in the stdenv-linux
# bootstrap.
BASH_SHELL = "/bin/sh";
}
// (removeAttrs args [ "withLinuxHeaders" "withGd" ]) //
{
name = name + "-${version}${patchSuffix}";
src = fetchurl {
url = "mirror://gnu/glibc/glibc-${version}.tar.xz";
inherit sha256;
};
# Remove absolute paths from `configure' & co.; build out-of-tree.
preConfigure = ''
export PWD_P=$(type -tP pwd)
for i in configure io/ftwtest-sh; do
# Can't use substituteInPlace here because replace hasn't been
# built yet in the bootstrap.
sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
done
mkdir ../build
cd ../build
configureScript="`pwd`/../$sourceRoot/configure"
${lib.optionalString (stdenv.cc.libc != null)
''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"''
}
'' + lib.optionalString (cross != null) ''
sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
cat > config.cache << "EOF"
libc_cv_forced_unwind=yes
libc_cv_c_cleanup=yes
libc_cv_gnu89_inline=yes
EOF
'';
preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
meta = {
homepage = http://www.gnu.org/software/libc/;
description = "The GNU C Library";
longDescription =
'' Any Unix-like operating system needs a C library: the library which
defines the "system calls" and other basic facilities such as
open, malloc, printf, exit...
The GNU C library is used as the C library in the GNU system and
most systems with the Linux kernel.
'';
license = lib.licenses.lgpl2Plus;
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.linux;
} // meta;
}
// lib.optionalAttrs (cross != null) {
preInstall = null; # clobber the native hook
dontStrip = true;
separateDebugInfo = false; # this is currently broken for crossDrv
# To avoid a dependency on the build system 'bash'.
preFixup = ''
rm -f $bin/bin/{ldd,tzselect,catchsegv,xtrace}
'';
})

View File

@ -0,0 +1,46 @@
diff -Naur glibc-2.27-orig/elf/ldconfig.c glibc-2.27/elf/ldconfig.c
--- glibc-2.27-orig/elf/ldconfig.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/elf/ldconfig.c 2018-02-17 22:43:17.232175182 -0500
@@ -51,7 +51,7 @@
#endif
#ifndef LD_SO_CONF
-# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
#endif
/* Get libc version number. */
diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
--- glibc-2.27-orig/elf/Makefile 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/elf/Makefile 2018-02-17 22:44:50.334006750 -0500
@@ -559,13 +559,13 @@
$(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
-SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
-CFLAGS-ldconfig.c += $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
+PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
+CFLAGS-ldconfig.c += $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
-D'SLIBDIR="$(slibdir)"'
libof-ldconfig = ldconfig
-CFLAGS-dl-cache.c += $(SYSCONF-FLAGS)
-CFLAGS-cache.c += $(SYSCONF-FLAGS)
-CFLAGS-rtld.c += $(SYSCONF-FLAGS)
+CFLAGS-dl-cache.c += $(PREFIX-FLAGS)
+CFLAGS-cache.c += $(PREFIX-FLAGS)
+CFLAGS-rtld.c += $(PREFIX-FLAGS)
cpp-srcs-left := $(all-rtld-routines:=.os)
lib := rtld
diff -Naur glibc-2.27-orig/sysdeps/generic/dl-cache.h glibc-2.27/sysdeps/generic/dl-cache.h
--- glibc-2.27-orig/sysdeps/generic/dl-cache.h 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/sysdeps/generic/dl-cache.h 2018-02-17 22:45:20.471598816 -0500
@@ -28,7 +28,7 @@
#endif
#ifndef LD_SO_CACHE
-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache"
#endif
#ifndef add_system_dir

View File

@ -0,0 +1,118 @@
diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
--- glibc-2.27-orig/locale/loadarchive.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/locale/loadarchive.c 2018-02-17 22:32:25.680169462 -0500
@@ -123,6 +123,23 @@
return MAX (namehash_end, MAX (string_end, locrectab_end));
}
+static int
+open_locale_archive (void)
+{
+ int fd = -1;
+ char *versioned_path = getenv ("LOCAL_ARCHIVE_2_27");
+ char *path = getenv ("LOCAL_ARCHIVE");
+ if (versioned_path)
+ fd = __open_nocancel (versioned_path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ if (path && fd < 0)
+ fd = __open_nocancel (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ if (fd < 0)
+ fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ if (fd < 0)
+ fd = __open_nocancel ("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ return fd;
+}
+
/* Find the locale *NAMEP in the locale archive, and return the
internalized data structure for its CATEGORY data. If this locale has
@@ -202,7 +219,7 @@
archmapped = &headmap;
/* The archive has never been opened. */
- fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ fd = open_locale_archive ();
if (fd < 0)
/* Cannot open the archive, for whatever reason. */
return NULL;
@@ -397,8 +414,7 @@
if (fd == -1)
{
struct stat64 st;
- fd = __open_nocancel (archfname,
- O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+ fd = open_locale_archive ();
if (fd == -1)
/* Cannot open the archive, for whatever reason. */
return NULL;
diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
--- glibc-2.27-orig/locale/programs/locale.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/locale/programs/locale.c 2018-02-17 22:36:39.726293213 -0500
@@ -633,6 +633,24 @@
static int
+open_locale_archive (void)
+{
+ int fd = -1;
+ char *versioned_path = getenv ("LOCAL_ARCHIVE_2_27");
+ char *path = getenv ("LOCAL_ARCHIVE");
+ if (versioned_path)
+ fd = open64 (versioned_path, O_RDONLY);
+ if (path && fd < 0)
+ fd = open64 (path, O_RDONLY);
+ if (fd < 0)
+ fd = open64 (ARCHIVE_NAME, O_RDONLY);
+ if (fd < 0)
+ fd = open64 ("/usr/lib/locale/locale-archive", O_RDONLY);
+ return fd;
+}
+
+
+static int
write_archive_locales (void **all_datap, char *linebuf)
{
struct stat64 st;
@@ -644,7 +662,7 @@
int fd, ret = 0;
uint32_t cnt;
- fd = open64 (ARCHIVE_NAME, O_RDONLY);
+ fd = open_locale_archive ();
if (fd < 0)
return 0;
diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
--- glibc-2.27-orig/locale/programs/locarchive.c 2018-02-01 11:17:18.000000000 -0500
+++ glibc-2.27/locale/programs/locarchive.c 2018-02-17 22:40:51.245293975 -0500
@@ -117,6 +117,22 @@
}
+static int
+open_locale_archive (const char * archivefname, int flags)
+{
+ int fd = -1;
+ char *versioned_path = getenv ("LOCAL_ARCHIVE_2_27");
+ char *path = getenv ("LOCAL_ARCHIVE");
+ if (versioned_path)
+ fd = open64 (versioned_path, flags);
+ if (path && fd < 0)
+ fd = open64 (path, flags);
+ if (fd < 0)
+ fd = open64 (archivefname, flags);
+ return fd;
+}
+
+
static void
create_archive (const char *archivefname, struct locarhandle *ah)
{
@@ -578,7 +594,7 @@
while (1)
{
/* Open the archive. We must have exclusive write access. */
- fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR);
+ fd = open_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
if (fd == -1)
{
/* Maybe the file does not yet exist? If we are opening

View File

@ -28,9 +28,9 @@ let inherit (stdenv.lib) optional optionals hasPrefix; in
let let
result = { result = {
# e.g. https://libav.org/releases/libav-11.11.tar.xz.sha1 # e.g. https://libav.org/releases/libav-11.11.tar.xz.sha1
libav_0_8 = libavFun "0.8.20" "0c7a2417c3a01eb74072691bb93ce802ae1be08f"; libav_0_8 = libavFun "0.8.21" "d858f65128dad0bac1a8c3a51e5cbb27a7c79b3f";
libav_11 = libavFun "11.11" "d7444fa4f135bdd7347cc962ab4b5228796b0f23"; libav_11 = libavFun "11.12" "61d5dcab5fde349834af193a572b12a5fd6a4d42";
libav_12 = libavFun "12.2" "3784b15f88076ca0ab8fb6b0377e975b83a5c9f5"; libav_12 = libavFun "12.3" "386c18c8b857f23dfcf456ce40370716130211d9";
}; };
libavFun = version : sha1 : stdenv.mkDerivation rec { libavFun = version : sha1 : stdenv.mkDerivation rec {
@ -125,7 +125,6 @@ let
license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not? license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not?
else if enableGPL then gpl2Plus else lgpl21Plus; else if enableGPL then gpl2Plus else lgpl21Plus;
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = [ maintainers.vcunat ];
}; };
}; # libavFun }; # libavFun

View File

@ -101,10 +101,11 @@ let
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
env = callPackage ../qt-env.nix {}; env = callPackage ../qt-env.nix {};
full = env "qt-${qtbase.version}" ([ full = env "qt-full-${qtbase.version}" ([
qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
qtsensors qtserialport qtsvg qttools qttranslations qtwebsockets qtscript qtsensors qtserialport qtsvg qttools qttranslations
qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
qtx11extras qtxmlpatterns qtx11extras qtxmlpatterns
] ++ optional (!stdenv.isDarwin) qtwayland ] ++ optional (!stdenv.isDarwin) qtwayland
++ optional (stdenv.isDarwin) qtmacextras); ++ optional (stdenv.isDarwin) qtmacextras);

View File

@ -113,7 +113,7 @@ let
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
env = callPackage ../qt-env.nix {}; env = callPackage ../qt-env.nix {};
full = env "qt-${qtbase.version}" [ full = env "qt-full-${qtbase.version}" [
qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats
qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript
qtsensors qtserialport qtsvg qttools qttranslations qtwayland qtsensors qtserialport qtsvg qttools qttranslations qtwayland

View File

@ -101,11 +101,12 @@ let
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
env = callPackage ../qt-env.nix {}; env = callPackage ../qt-env.nix {};
full = env "qt-${qtbase.version}" ([ full = env "qt-full-${qtbase.version}" ([
qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
qtsensors qtserialport qtsvg qttools qttranslations qtwebsockets qtscript qtsensors qtserialport qtsvg qttools qttranslations
qtx11extras qtxmlpatterns qtvirtualkeyboard qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
qtx11extras qtxmlpatterns
] ++ optional (!stdenv.isDarwin) qtwayland ] ++ optional (!stdenv.isDarwin) qtwayland
++ optional (stdenv.isDarwin) qtmacextras); ++ optional (stdenv.isDarwin) qtmacextras);

View File

@ -13,9 +13,9 @@ buildEnv {
cat >"$out/bin/qt.conf" <<EOF cat >"$out/bin/qt.conf" <<EOF
[Paths] [Paths]
Prefix = $out Prefix = $out
Plugins = $qtPluginPrefix Plugins = ${qtbase.qtPluginPrefix}
Qml2Imports = $qtQmlPrefix Qml2Imports = ${qtbase.qtQmlPrefix}
Documentation = $qtDocPrefix Documentation = ${qtbase.qtDocPrefix}
EOF EOF
''; '';
} }

View File

@ -1,4 +1,4 @@
#!@stdenv_shell@ #!@bash@/bin/bash
# Part of NixPkgs package collection # Part of NixPkgs package collection
# This script can be used at your option under the same license as NixPkgs or # This script can be used at your option under the same license as NixPkgs or
# under MIT/X11 license # under MIT/X11 license

View File

@ -1,3 +1,3 @@
#! /bin/sh #!@bash@/bin/bash
source "@out@"/bin/cl-wrapper.sh "${NIX_LISP_COMMAND:-$(@ls@ "@lisp@/bin"/* | @head@ -n 1)}" "$@" source "@out@"/bin/cl-wrapper.sh "${NIX_LISP_COMMAND:-$(@ls@ "@lisp@/bin"/* | @head@ -n 1)}" "$@"

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, asdf, which, lisp ? null}: {stdenv, fetchurl, asdf, which, bash, lisp ? null}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "cl-wrapper-script"; name = "cl-wrapper-script";
@ -36,7 +36,7 @@ stdenv.mkDerivation {
buildInputs = [which]; buildInputs = [which];
inherit asdf lisp; inherit asdf lisp bash;
stdenv_shell = stdenv.shell; stdenv_shell = stdenv.shell;
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;

View File

@ -0,0 +1,24 @@
{ stdenv, fetchzip, ocaml, findlib, jbuilder, ssl, lwt }:
stdenv.mkDerivation rec {
version = "1.1.2";
name = "ocaml${ocaml.version}-lwt_ssl-${version}";
src = fetchzip {
url = "https://github.com/aantron/lwt_ssl/archive/${version}.tar.gz";
sha256 = "1q0an3djqjxv83v3iswi7m81braqx93kcrcwrxwmf6jzhdm4pn15";
};
buildInputs = [ ocaml findlib jbuilder ];
propagatedBuildInputs = [ ssl lwt ];
inherit (jbuilder) installPhase;
meta = {
homepage = "https://github.com/aantron/lwt_ssl";
description = "OpenSSL binding with concurrent I/O";
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
};
}

View File

@ -3,13 +3,13 @@
, ipaddress, backports_ssl_match_hostname, docker_pycreds , ipaddress, backports_ssl_match_hostname, docker_pycreds
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "3.0.0"; version = "2.7.0";
pname = "docker"; pname = "docker";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://pypi/d/docker/${name}.tar.gz"; url = "mirror://pypi/d/docker/${name}.tar.gz";
sha256 = "4a1083656c6ac7615c19094d9b5e052f36e38d0b07e63d7e506c9b5b32c3abe2"; sha256 = "144248308e8ea31c4863c6d74e1b55daf97cc190b61d0fe7b7313ab920d6a76c";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -0,0 +1,26 @@
{ stdenv, buildPythonPackage, fetchPypi, beautifulsoup4 }:
buildPythonPackage rec {
pname = "micawber";
version = "0.3.5";
src = fetchPypi {
inherit pname version;
sha256 = "0pnq6j8f144virhri0drgf0058x6qcxfd5yrb0ynbwr8djh326yn";
};
propagatedBuildInputs = [ beautifulsoup4 ];
meta = with stdenv.lib; {
homepage = http://micawber.readthedocs.io/en/latest/;
description = "A small library for extracting rich content from urls";
license = licenses.mit;
longDescription = ''
micawber supplies a few methods for retrieving rich metadata
about a variety of links, such as links to youtube videos.
micawber also provides functions for parsing blocks of text and html
and replacing links to videos with rich embedded content.
'';
maintainers = with maintainers; [ davidak ];
};
}

View File

@ -0,0 +1,32 @@
{ lib, buildPythonPackage, fetchurl, fetchpatch
, pytest, werkzeug, pygments
}:
buildPythonPackage rec {
name = "moinmoin-${ver}";
ver = "1.9.9";
src = fetchurl {
url = "http://static.moinmo.in/files/moin-${ver}.tar.gz";
sha256 = "197ga41qghykmir80ik17f9hjpmixslv3zjgj7bj9qvs1dvdg5s3";
};
patches = [
# Recommended to install on their download page.
(fetchpatch {
url = "https://bitbucket.org/thomaswaldmann/moin-1.9/commits/561b7a9c2bd91b61d26cd8a5f39aa36bf5c6159e/raw";
sha256 = "1nscnl9nspnrwyf3n95ig0ihzndryinq9kkghliph6h55cncfc65";
})
./fix_tests.patch
];
checkInputs = [ pytest werkzeug pygments ];
meta = with lib; {
description = "Advanced, easy to use and extensible WikiEngine";
homepage = "http://moinmo.in/";
license = licenses.gpl2Plus;
};
}

View File

@ -0,0 +1,16 @@
diff -ru3 moin-1.9.9-old/MoinMoin/conftest.py moin-1.9.9-new/MoinMoin/conftest.py
--- moin-1.9.9-old/MoinMoin/conftest.py 2016-10-31 23:44:02.000000000 +0300
+++ moin-1.9.9-new/MoinMoin/conftest.py 2018-02-18 12:13:19.551929093 +0300
@@ -22,10 +22,11 @@
import atexit
import sys
+import os
import py
-rootdir = py.magic.autopath().dirpath()
+rootdir = os.path.abspath(os.path.dirname(__file__))
moindir = rootdir.join("..")
sys.path.insert(0, str(moindir))

View File

@ -0,0 +1,24 @@
{ lib, buildPythonPackage, fetchFromGitHub, pynacl, six }:
buildPythonPackage rec {
pname = "pymacaroons-pynacl";
version = "0.9.3";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "pymacaroons";
rev = "v${version}";
sha256 = "0bykjk01zdndp6gjr30x46blsn0cvxa7j0zh5g8raxwaawchjhii";
};
propagatedBuildInputs = [ pynacl six ];
# Tests require an old version of hypothesis
doCheck = false;
meta = with lib; {
description = "Macaroon library for Python";
homepage = https://github.com/matrix-org/pymacaroons;
license = licenses.mit;
};
}

View File

@ -11,11 +11,8 @@ buildPythonPackage rec {
sha256 = "0z9i1z4hjzmp23igyhvg131gikbrr947506lwfb3fayf0agwfv8f"; sha256 = "0z9i1z4hjzmp23igyhvg131gikbrr947506lwfb3fayf0agwfv8f";
}; };
#remove deadline from tests, see https://github.com/pyca/pynacl/issues/370 #set timeout to unlimited, remove deadline from tests, see https://github.com/pyca/pynacl/issues/370
preCheck = '' patches = [ ./pynacl-no-timeout-and-deadline.patch ];
sed -i 's/deadline=1500, //' tests/test_pwhash.py
sed -i 's/deadline=1500, //' tests/test_aead.py
'';
checkInputs = [ pytest coverage hypothesis ]; checkInputs = [ pytest coverage hypothesis ];
propagatedBuildInputs = [ libsodium cffi six ]; propagatedBuildInputs = [ libsodium cffi six ];

View File

@ -0,0 +1,49 @@
diff --git a/tests/test_pwhash.py b/tests/test_pwhash.py
index 9634c85..7f20316 100644
--- a/tests/test_pwhash.py
+++ b/tests/test_pwhash.py
@@ -20,7 +20,7 @@ import os
import sys
import unicodedata as ud
-from hypothesis import given, settings
+from hypothesis import given, settings, unlimited
from hypothesis.strategies import integers, text
import pytest
@@ -411,7 +411,7 @@ def test_str_verify_argon2_ref_fail(password_hash, password):
integers(min_value=1024 * 1024,
max_value=16 * 1024 * 1024)
)
-@settings(deadline=1500, max_examples=20)
+@settings(timeout=unlimited, deadline=None, max_examples=20)
def test_argon2i_str_and_verify(password, ops, mem):
_psw = password.encode('utf-8')
pw_hash = nacl.pwhash.argon2i.str(_psw, opslimit=ops, memlimit=mem)
@@ -425,7 +425,7 @@ def test_argon2i_str_and_verify(password, ops, mem):
integers(min_value=1024 * 1024,
max_value=16 * 1024 * 1024)
)
-@settings(deadline=1500, max_examples=20)
+@settings(timeout=unlimited, deadline=None, max_examples=20)
def test_argon2id_str_and_verify(password, ops, mem):
_psw = password.encode('utf-8')
pw_hash = nacl.pwhash.argon2id.str(_psw, opslimit=ops, memlimit=mem)
@@ -439,7 +439,7 @@ def test_argon2id_str_and_verify(password, ops, mem):
integers(min_value=1024 * 1024,
max_value=16 * 1024 * 1024)
)
-@settings(deadline=1500, max_examples=20)
+@settings(timeout=unlimited, deadline=None, max_examples=20)
def test_argon2i_str_and_verify_fail(password, ops, mem):
_psw = password.encode('utf-8')
pw_hash = nacl.pwhash.argon2i.str(_psw, opslimit=ops, memlimit=mem)
@@ -448,7 +448,7 @@ def test_argon2i_str_and_verify_fail(password, ops, mem):
@given(text(alphabet=PASSWD_CHARS, min_size=5, max_size=20))
-@settings(deadline=1500, max_examples=5)
+@settings(timeout=unlimited, deadline=None, max_examples=5)
def test_pwhash_str_and_verify(password):
_psw = password.encode('utf-8')

View File

@ -9,11 +9,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "yarl"; pname = "yarl";
version = "1.1.0"; version = "1.1.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "162630v7f98l27h11msk9416lqwm2mpgxh4s636594nlbfs9by3a"; sha256 = "a69dd7e262cdb265ac7d5e929d55f2f3d07baaadd158c8f19caebf8dde08dfe8";
}; };
checkInputs = [ pytest pytestrunner ]; checkInputs = [ pytest pytestrunner ];

View File

@ -31,6 +31,11 @@ stdenv.mkDerivation rec {
installFlags = [ "INSTALL_ROOT=$(out)" ] ++ optional withDocumentation "install_docs"; installFlags = [ "INSTALL_ROOT=$(out)" ] ++ optional withDocumentation "install_docs";
preConfigure = ''
substituteInPlace src/plugins/plugins.pro \
--replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls'
'';
preBuild = optional withDocumentation '' preBuild = optional withDocumentation ''
ln -s ${getLib qtbase}/$qtDocPrefix $NIX_QT5_TMP/share ln -s ${getLib qtbase}/$qtDocPrefix $NIX_QT5_TMP/share
''; '';

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jenkins-${version}"; name = "jenkins-${version}";
version = "2.105"; version = "2.89.3";
src = fetchurl { src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
sha256 = "0q6xyjkqlrwjgf7rzmyy8m0w7lhqyavici76zzngg159xkyh5cfh"; sha256 = "0flqd3r1nip9wc8sy0kiqjivgx0zkpzlkbz6n3gb1plc73lpdwbr";
}; };
buildCommand = '' buildCommand = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "strace-${version}"; name = "strace-${version}";
version = "4.20"; version = "4.21";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/strace/${name}.tar.xz"; url = "mirror://sourceforge/strace/${name}.tar.xz";
sha256 = "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv"; sha256 = "1dvrwi6v9j6b9j6852zzlc61hxgiciadi1xsl89wzbzqlkxnahbd";
}; };
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "apulse-${version}"; name = "apulse-${version}";
version = "0.1.10"; version = "0.1.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "i-rinat"; owner = "i-rinat";
repo = "apulse"; repo = "apulse";
rev = "v${version}"; rev = "v${version}";
sha256 = "018gaxn647wz1vjbr49hfrch9svnv0d1nzijc8ckb4fsr8vv95a1"; sha256 = "16l278q0czca2794fj388ql6qn1zrw24a0p6k7bayrrf5h32fdzd";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -0,0 +1,82 @@
{ stdenv, apulse, libpulseaudio, pkgconfig, intltool, autoreconfHook }:
stdenv.mkDerivation {
name = "libpressureaudio-${apulse.version}";
src = libpulseaudio.src;
nativeBuildInputs = [ pkgconfig intltool autoreconfHook ];
configurePhase = ":";
buildPhase = ":";
installPhase = ''
echo "Copying libraries from apulse."
mkdir -p $out/lib
ls ${apulse}/lib/apulse $out/lib
cp -a ${apulse}/lib/apulse/* $out/lib/
echo "Copying headers from pulseaudio."
mkdir -p $out/include/pulse
cp -a src/pulse/*.h $out/include/pulse
echo "Generating custom pkgconfig definitions."
mkdir -p $out/lib/pkgconfig
for a in libpulse.pc libpulse-simple.pc libpulse-mainloop-glib.pc ; do
cat > $out/lib/pkgconfig/$a << EOF
prefix=$out
libdir=$out/lib
includedir=$out/include
EOF
done
cat >> $out/lib/pkgconfig/libpulse.pc << EOF
Name: libpulse
Description: PulseAudio Client Interface
Version: ${libpulseaudio.version}-rebootstrapped
Libs: -L$out/lib -lpulse
Cflags: -I$out/include -D_REENTRANT
EOF
cat >> $out/lib/pkgconfig/libpulse-simple.pc << EOF
Name: libpulse-simple
Description: PulseAudio Simplified Synchronous Client Interface
Version: ${libpulseaudio.version}-rebootstrapped
Libs: -L$out/lib -lpulse-simple
Cflags: -I$out/include -D_REENTRANT
Requires: libpulse
EOF
cat >> $out/lib/pkgconfig/libpulse-mainloop-glib.pc << EOF
Name: libpulse-mainloop-glib
Description: PulseAudio GLib 2.0 Main Loop Wrapper
Version: ${libpulseaudio.version}-rebootstrapped
Libs: -L$out/lib -lpulse-mainloop-glib
Cflags: -I$out/include -D_REENTRANT
Requires: libpulse glib-2.0
EOF
'';
meta = apulse.meta // {
description = "libpulseaudio without any sound daemons over pure ALSA";
longDescription = ''
apulse (${apulse.meta.homepage}) implements most of libpulseaudio
API over pure ALSA in 5% LOC of the original PulseAudio.
But apulse is made to be used as a wrapper that substitutes its
replacement libs into LD_LIBRARY_PATH. The problem with that is
that you still have to link against the original libpulseaudio.
pressureaudio (http://git.r-36.net/pressureaudio/) wraps apulse
with everything you need to replace libpulseaudio completely.
This derivation is a reimplementation of pressureaudio in pure
nix.
You can simply override libpulseaudio with this and most
packages would just work.
'';
};
}

View File

@ -3,13 +3,13 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "4.14.19"; version = "4.14.20";
# branchVersion needs to be x.y # branchVersion needs to be x.y
extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0gj7mq0dnb914mm4rari9z2cxbybskv1587606aq6f9nv1qp3kn5"; sha256 = "14njnspxmyzpapjzm8macrv411ss63xb39nb00xix75glqmg9dsa";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "4.15.3"; version = "4.15.4";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "055p02in09rj95z9hc1kjh4r12ydwdcl3ds2cp4dckhlnyhnxf4g"; sha256 = "0fla9k90y6vaqvyjk81f59smcifcwickx4yr662m4whzkhd7wgd2";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -1,11 +1,11 @@
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.4.115"; version = "4.4.116";
extraMeta.branch = "4.4"; extraMeta.branch = "4.4";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1pxm4r09402h4k8zgl0w1wm4vfvcaa3y7l36h50jr5wgi6l8rx2q"; sha256 = "18sz68gbms5rvjiy51b1dg1jlr7pwazw9fg6q5ffczk22icflvsn";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -1,11 +1,11 @@
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.9.81"; version = "4.9.82";
extraMeta.branch = "4.9"; extraMeta.branch = "4.9";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1bjwca7m3ksab6d23a05ciphzaj6nv6qmc5n6dxrgim0yhjpmvk4"; sha256 = "105im51ax2cwfqkljfi1sqh6sap6sc76zh5l9n7fpbys04khnwab";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -3,9 +3,9 @@
with stdenv.lib; with stdenv.lib;
let let
version = "4.15.3"; version = "4.15.4";
revision = "a"; revision = "a";
sha256 = "1fxdllg60hwlbmjijcj7w6c3xz0rf9268f12qy45diahmydyccgc"; sha256 = "0j7nla8vjrxr82nfx8dl34qk8b56piwqbndqch9rv7plgl30hkj7";
# modVersion needs to be x.y.z, will automatically add .0 if needed # modVersion needs to be x.y.z, will automatically add .0 if needed
modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));

View File

@ -2,7 +2,7 @@
# Do not edit! # Do not edit!
{ {
version = "0.63.2"; version = "0.63.3";
components = { components = {
"nuimo_controller" = ps: with ps; [ ]; "nuimo_controller" = ps: with ps; [ ];
"bbb_gpio" = ps: with ps; [ ]; "bbb_gpio" = ps: with ps; [ ];

View File

@ -44,7 +44,7 @@ let
extraBuildInputs = extraPackages py.pkgs; extraBuildInputs = extraPackages py.pkgs;
# Don't forget to run parse-requirements.py after updating # Don't forget to run parse-requirements.py after updating
hassVersion = "0.63.2"; hassVersion = "0.63.3";
in with py.pkgs; buildPythonApplication rec { in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant"; pname = "homeassistant";
@ -57,7 +57,7 @@ in with py.pkgs; buildPythonApplication rec {
owner = "home-assistant"; owner = "home-assistant";
repo = "home-assistant"; repo = "home-assistant";
rev = version; rev = version;
sha256 = "057xp3l3amzxbzzdqmgbmd0qk6fz29lpdbw3zcbjigjxbdi14h2l"; sha256 = "1lrdrn0x8i81vbqxziv5fgcc8ldz7x5r62kfz3nyg4g43rk3dqq8";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig, AppKit, Xplugin }: { stdenv, lib, fetchurl, xorg, pixman, pkgconfig, AppKit, Xplugin, darwin }:
let version = "1.3.1"; let version = "1.3.1";
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -19,13 +19,11 @@ in stdenv.mkDerivation {
xorg.libXext xorg.libXext
pixman pixman
pkgconfig pkgconfig
AppKit Xplugin AppKit Xplugin darwin.apple_sdk.frameworks.Foundation
]; ];
NIX_CFLAGS_COMPILE = "-F/System/Library/Frameworks -I/usr/include";
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
meta = with lib; { meta = with lib; {
license = licenses.apsl20; license = licenses.apsl20;
platforms = platforms.darwin; platforms = platforms.darwin;
maintainers = with maintainers; [ matthewbauer ];
}; };
} }

View File

@ -2,13 +2,13 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "yle-dl-${version}"; name = "yle-dl-${version}";
version = "2.30"; version = "2.31";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aajanki"; owner = "aajanki";
repo = "yle-dl"; repo = "yle-dl";
rev = version; rev = version;
sha256 = "08qqsg0rmp4xfzmla81f0a4vblqfw3rh90wvxm91vbm6937b4i7i"; sha256 = "0k93p9csyjm0w33diwl5s22kzs3g78jl3n9k8nxxpqrybfjl912f";
}; };
propagatedBuildInputs = with pythonPackages; [ lxml pyamf pycrypto requests future ffmpeg ]; propagatedBuildInputs = with pythonPackages; [ lxml pyamf pycrypto requests future ffmpeg ];

View File

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, autoreconfHook, libnet, libpcap }:
stdenv.mkDerivation rec {
version = "2.19";
name = "arping-${version}";
buildInputs = [ libnet libpcap ];
src = fetchFromGitHub {
owner = "ThomasHabets";
repo = "arping";
rev = "arping-${version}";
sha256 = "10gpil6ic17x8v628vhz9s98rnw1k8ci2xs56i52pr103irirczw";
};
nativeBuildInputs = [ autoreconfHook ];
meta = with stdenv.lib; {
description = "Broadcasts a who-has ARP packet on the network and prints answers";
homepage = https://github.com/ThomasHabets/arping;
license = with licenses; [ gpl2 ];
maintainers = [ maintainers.michalrus ];
platforms = platforms.unix;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, fetchpatch }: { stdenv, fetchurl, openssl, fetchpatch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "iperf-3.3"; name = "iperf-3.4";
src = fetchurl { src = fetchurl {
url = "http://downloads.es.net/pub/iperf/${name}.tar.gz"; url = "http://downloads.es.net/pub/iperf/${name}.tar.gz";
sha256 = "1n442bjkm1dvzmcj8z1i99yrmba489yz3f5v27ybymhh4mqn4nbg"; sha256 = "04ciywjhklzfrnp40675ssnkqxv90ad4v56i8vh8bpsiswr86lki";
}; };
buildInputs = [ openssl ]; buildInputs = [ openssl ];

View File

@ -0,0 +1,71 @@
{ lib
, stdenv
, fetchurl
, runCommand
, makeWrapper
, buildFHSUserEnv
, libselinux
, xorg
# Conda installs its packages and environments under this directory
, installationPath ? "~/.conda"
# Conda manages most pkgs itself, but expects a few to be on the system.
, condaDeps ? [ stdenv.cc xorg.libSM xorg.libICE xorg.libXrender libselinux ]
# Any extra nixpkgs you'd like available in the FHS env for Conda to use
, extraPkgs ? [ ]
}:
# How to use this package?
#
# First-time setup: this nixpkg downloads the conda installer and provides a FHS
# env in which it can run. On first use, the user will need to install conda to
# the installPath using the installer:
# $ nix-env -iA conda
# $ conda-shell
# $ conda-install
#
# Under normal usage, simply call `conda-shell` to activate the FHS env,
# and then use conda commands as normal:
# $ conda-shell
# $ conda install spyder
let
version = "4.3.31";
src = fetchurl {
url = "https://repo.continuum.io/miniconda/Miniconda3-${version}-Linux-x86_64.sh";
sha256 = "1rklq81s9v7xz1q0ha99w2sl6kyc5vhk6b21cza0jr3b8cgz0lam";
};
conda = runCommand "conda-install" { buildInputs = [ makeWrapper ]; }
''
mkdir -p $out/bin
cp ${src} $out/bin/miniconda-installer.sh
chmod +x $out/bin/miniconda-installer.sh
makeWrapper \
$out/bin/miniconda-installer.sh \
$out/bin/conda-install \
--add-flags "-p ${installationPath}" \
--add-flags "-b"
'';
in
buildFHSUserEnv {
name = "conda-shell";
targetPkgs = pkgs: (builtins.concatLists [ [ conda ] condaDeps extraPkgs]);
profile = ''
# Add conda to PATH
export PATH=${installationPath}/bin:$PATH
# Paths for gcc if compiling some C sources with pip
export NIX_CFLAGS_COMPILE="-I${installationPath}/include"
export NIX_CFLAGS_LINK="-L${installationPath}lib"
# Some other required environment variables
export FONTCONFIG_FILE=/etc/fonts/fonts.conf
export QTCOMPOSE=${xorg.libX11}/share/X11/locale
'';
meta = {
description = "Conda is a package manager for Python";
homepage = https://conda.io/;
platforms = lib.platforms.linux;
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jluttine bhipple ];
};
}

View File

@ -6,11 +6,11 @@
let inherit (stdenv.lib) optionals; in let inherit (stdenv.lib) optionals; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ddrescue-1.22"; name = "ddrescue-1.23";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/ddrescue/${name}.tar.lz"; url = "mirror://gnu/ddrescue/${name}.tar.lz";
sha256 = "19qhx9ggkkjl0g3a88g501wmybkj1y4n5lm5kp0km0blh0p7p189"; sha256 = "13cd6c0x91zq10vdlyl6r5rib47bmsn5sshmkin3igwj8pa2vbm9";
}; };
nativeBuildInputs = [ lzip ]; nativeBuildInputs = [ lzip ];

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, libaio, python, zlib }: { stdenv, fetchFromGitHub, libaio, python, zlib }:
let let
version = "3.3"; version = "3.4";
sha256 = "0ipdpdn6rlsbppqjddyyk8c6rg1dl17d62dwwm0ijybi0m7imy1p"; sha256 = "0img4288ygil36bsgpr4yh06zfbp3mdkf7zbyqjcrjgpr4mai9zf";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View File

@ -0,0 +1,30 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, unzip, catdoc }:
stdenv.mkDerivation {
name = "catdocx-20170102";
src = fetchFromGitHub {
owner = "jncraton";
repo = "catdocx";
rev = "04fa0416ec1f116d4996685e219f0856d99767cb";
sha256 = "1sxiqhkvdqn300ygfgxdry2dj2cqzjhkzw13c6349gg5vxfypcjh";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/libexec $out/bin
cp catdocx.sh $out/libexec
chmod +x $out/libexec/catdocx.sh
wrapProgram $out/libexec/catdocx.sh --prefix PATH : "${lib.makeBinPath [ unzip catdoc ]}"
ln -s $out/libexec/catdocx.sh $out/bin/catdocx
'';
meta = with stdenv.lib; {
description = "Extracts plain text from docx files";
homepage = https://github.com/jncraton/catdocx;
license = with licenses; [ bsd3 ];
maintainers = [ maintainers.michalrus ];
platforms = platforms.all;
};
}

View File

@ -489,6 +489,8 @@ with pkgs;
apulse = callPackage ../misc/apulse { }; apulse = callPackage ../misc/apulse { };
libpressureaudio = callPackage ../misc/apulse/pressureaudio.nix { };
archivemount = callPackage ../tools/filesystems/archivemount { }; archivemount = callPackage ../tools/filesystems/archivemount { };
arandr = callPackage ../tools/X11/arandr { }; arandr = callPackage ../tools/X11/arandr { };
@ -929,6 +931,8 @@ with pkgs;
catdoc = callPackage ../tools/text/catdoc { }; catdoc = callPackage ../tools/text/catdoc { };
catdocx = callPackage ../tools/text/catdocx { };
catclock = callPackage ../applications/misc/catclock { }; catclock = callPackage ../applications/misc/catclock { };
cde = callPackage ../tools/package-management/cde { }; cde = callPackage ../tools/package-management/cde { };
@ -1366,6 +1370,8 @@ with pkgs;
appdata-tools = callPackage ../tools/misc/appdata-tools { }; appdata-tools = callPackage ../tools/misc/appdata-tools { };
arping = callPackage ../tools/networking/arping { };
asciidoc = callPackage ../tools/typesetting/asciidoc { asciidoc = callPackage ../tools/typesetting/asciidoc {
inherit (python2Packages) matplotlib numpy aafigure recursivePthLoader; inherit (python2Packages) matplotlib numpy aafigure recursivePthLoader;
w3m = w3m-batch; w3m = w3m-batch;
@ -1675,6 +1681,8 @@ with pkgs;
checkbashisms = callPackage ../development/tools/misc/checkbashisms { }; checkbashisms = callPackage ../development/tools/misc/checkbashisms { };
ckb = libsForQt5.callPackage ../tools/misc/ckb { };
clamav = callPackage ../tools/security/clamav { }; clamav = callPackage ../tools/security/clamav { };
clex = callPackage ../tools/misc/clex { }; clex = callPackage ../tools/misc/clex { };
@ -1697,10 +1705,10 @@ with pkgs;
cloud-utils = callPackage ../tools/misc/cloud-utils { }; cloud-utils = callPackage ../tools/misc/cloud-utils { };
ckb = libsForQt5.callPackage ../tools/misc/ckb { };
compass = callPackage ../development/tools/compass { }; compass = callPackage ../development/tools/compass { };
conda = callPackage ../tools/package-management/conda { };
convmv = callPackage ../tools/misc/convmv { }; convmv = callPackage ../tools/misc/convmv { };
convoy = callPackage ../tools/filesystems/convoy { }; convoy = callPackage ../tools/filesystems/convoy { };
@ -5746,6 +5754,7 @@ with pkgs;
compcert = callPackage ../development/compilers/compcert { }; compcert = callPackage ../development/compilers/compcert { };
cpp-gsl = callPackage ../development/libraries/cpp-gsl { };
# Users installing via `nix-env` will likely be using the REPL, # Users installing via `nix-env` will likely be using the REPL,
# which has a hard dependency on Z3, so make sure it is available. # which has a hard dependency on Z3, so make sure it is available.
@ -6366,6 +6375,8 @@ with pkgs;
julia = julia_06; julia = julia_06;
jwasm = callPackage ../development/compilers/jwasm { };
kotlin = callPackage ../development/compilers/kotlin { }; kotlin = callPackage ../development/compilers/kotlin { };
lazarus = callPackage ../development/compilers/fpc/lazarus.nix { lazarus = callPackage ../development/compilers/fpc/lazarus.nix {
@ -8743,6 +8754,9 @@ with pkgs;
glibc = callPackage ../development/libraries/glibc { glibc = callPackage ../development/libraries/glibc {
installLocales = config.glibc.locales or false; installLocales = config.glibc.locales or false;
}; };
glibc_2_27 = callPackage ../development/libraries/glibc/2.27.nix {
installLocales = config.glibc.locales or false;
};
glibc_memusage = callPackage ../development/libraries/glibc { glibc_memusage = callPackage ../development/libraries/glibc {
installLocales = false; installLocales = false;
@ -13874,6 +13888,8 @@ with pkgs;
faba-mono-icons = callPackage ../data/icons/faba-mono-icons { }; faba-mono-icons = callPackage ../data/icons/faba-mono-icons { };
fixedsys-excelsior = callPackage ../data/fonts/fixedsys-excelsior { };
emacs-all-the-icons-fonts = callPackage ../data/fonts/emacs-all-the-icons-fonts { }; emacs-all-the-icons-fonts = callPackage ../data/fonts/emacs-all-the-icons-fonts { };
emojione = callPackage ../data/fonts/emojione { emojione = callPackage ../data/fonts/emojione {
@ -16894,6 +16910,8 @@ with pkgs;
inherit (darwin.stubs) rez setfile; inherit (darwin.stubs) rez setfile;
}; };
qemu-riscv = callPackage ../applications/virtualization/qemu/riscv.nix {};
qgis = callPackage ../applications/gis/qgis {}; qgis = callPackage ../applications/gis/qgis {};
qgroundcontrol = libsForQt5.callPackage ../applications/science/robotics/qgroundcontrol { }; qgroundcontrol = libsForQt5.callPackage ../applications/science/robotics/qgroundcontrol { };

View File

@ -375,6 +375,10 @@ let
lwt = lwt3; lwt = lwt3;
}; };
lwt_ssl = callPackage ../development/ocaml-modules/lwt_ssl {
lwt = lwt3;
};
macaque = callPackage ../development/ocaml-modules/macaque { }; macaque = callPackage ../development/ocaml-modules/macaque { };
magic-mime = callPackage ../development/ocaml-modules/magic-mime { }; magic-mime = callPackage ../development/ocaml-modules/magic-mime { };

View File

@ -10139,6 +10139,8 @@ in {
}; };
}; };
micawber = callPackage ../development/python-modules/micawber { };
minimock = buildPythonPackage rec { minimock = buildPythonPackage rec {
version = "1.2.8"; version = "1.2.8";
name = "minimock-${version}"; name = "minimock-${version}";
@ -10372,24 +10374,8 @@ in {
}; };
}; };
moinmoin = buildPythonPackage (rec { # Needed here because moinmoin is loaded as a Python library.
name = "moinmoin-${ver}"; moinmoin = callPackage ../development/python-modules/moinmoin { };
disabled = isPy3k;
ver = "1.9.8";
src = pkgs.fetchurl {
url = "http://static.moinmo.in/files/moin-${ver}.tar.gz";
sha256 = "19hi16iy75lpx9ch799djc4hr4gai5rmvi542n29x6zhikysfjx7";
};
meta = {
description = "Advanced, easy to use and extensible WikiEngine";
homepage = http://moinmo.in/;
license = licenses.gpl2Plus;
};
});
moretools = callPackage ../development/python-modules/moretools { }; moretools = callPackage ../development/python-modules/moretools { };
@ -19960,18 +19946,7 @@ EOF
propagatedBuildInputs = with self; []; propagatedBuildInputs = with self; [];
}; };
pymacaroons-pynacl = buildPythonPackage rec { pymacaroons-pynacl = callPackage ../development/python-modules/pymacaroons-pynacl { };
name = "pymacaroons-pynacl-${version}";
version = "0.9.3";
src = pkgs.fetchgit {
url = "https://github.com/matrix-org/pymacaroons.git";
rev = "refs/tags/v${version}";
sha256 = "0bykjk01zdndp6gjr30x46blsn0cvxa7j0zh5g8raxwaawchjhii";
};
propagatedBuildInputs = with self; [ pynacl six ];
};
pynacl = callPackage ../development/python-modules/pynacl { }; pynacl = callPackage ../development/python-modules/pynacl { };