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

This commit is contained in:
Tuomas Tynkkynen 2018-02-03 02:50:21 +02:00
commit 10c8e6d0c5
87 changed files with 924 additions and 318 deletions

View file

@ -1,7 +1,7 @@
{ lib }:
let
inherit (builtins) attrNames isFunction;
inherit (builtins) attrNames;
in
@ -72,7 +72,7 @@ rec {
makeOverridable = f: origArgs:
let
ff = f origArgs;
overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
overrideWith = newArgs: origArgs // (if lib.isFunction newArgs then newArgs origArgs else newArgs);
in
if builtins.isAttrs ff then (ff // {
override = newArgs: makeOverridable f (overrideWith newArgs);
@ -81,7 +81,7 @@ rec {
${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv:
makeOverridable (args: (f args).overrideAttrs fdrv) origArgs;
})
else if builtins.isFunction ff then {
else if lib.isFunction ff then {
override = newArgs: makeOverridable f (overrideWith newArgs);
__functor = self: ff;
overrideDerivation = throw "overrideDerivation not yet supported for functors";
@ -112,8 +112,8 @@ rec {
*/
callPackageWith = autoArgs: fn: args:
let
f = if builtins.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
f = if lib.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
in makeOverridable f (auto // args);
@ -122,8 +122,8 @@ rec {
individual attributes. */
callPackagesWith = autoArgs: fn: args:
let
f = if builtins.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
f = if lib.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
origArgs = auto // args;
pkgs = f origArgs;
mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs;

View file

@ -2,10 +2,10 @@
let
inherit (builtins) trace attrNamesToStr isAttrs isFunction isList isInt
inherit (builtins) trace attrNamesToStr isAttrs isList isInt
isString isBool head substring attrNames;
inherit (lib) all id mapAttrsFlatten elem;
inherit (lib) all id mapAttrsFlatten elem isFunction;
in

View file

@ -51,12 +51,12 @@ let
inherit (builtins) add addErrorContext attrNames
concatLists deepSeq elem elemAt filter genericClosure genList
getAttr hasAttr head isAttrs isBool isFunction isInt isList
getAttr hasAttr head isAttrs isBool isInt isList
isString length lessThan listToAttrs pathExists readFile
replaceStrings seq stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs
flip mapNullable inNixShell min max importJSON warn info
nixpkgsVersion mod;
nixpkgsVersion mod functionArgs setFunctionArgs isFunction;
inherit (fixedPoints) fix fix' extends composeExtensions
makeExtensible makeExtensibleWithCustomName;

View file

@ -1,6 +1,6 @@
{ lib }:
let
inherit (builtins) isFunction head tail isList isAttrs isInt attrNames;
inherit (builtins) head tail isList isAttrs isInt attrNames;
in
@ -53,7 +53,7 @@ rec {
f: # the function applied to the arguments
initial: # you pass attrs, the functions below are passing a function taking the fix argument
let
takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
takeFixed = if lib.isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
tidy = args:
let # apply all functions given in "applyPreTidy" in sequence
applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
@ -63,7 +63,7 @@ rec {
let args = takeFixed fixed;
mergeFun = args.${n};
in if isAttrs x then (mergeFun args x)
else assert isFunction x;
else assert lib.isFunction x;
mergeFun args (x ( args // { inherit fixed; }));
in overridableDelayableArgs f newArgs;
in
@ -374,7 +374,7 @@ rec {
if isAttrs x then
if x ? outPath then "derivation"
else "attrs"
else if isFunction x then "function"
else if lib.isFunction x then "function"
else if isList x then "list"
else if x == true then "bool"
else if x == false then "bool"

View file

@ -14,6 +14,8 @@ let
libAttr = lib.attrsets;
flipMapAttrs = flip libAttr.mapAttrs;
inherit (lib) isFunction;
in
rec {
@ -110,7 +112,7 @@ rec {
else if isString v then "\"" + v + "\""
else if null == v then "null"
else if isFunction v then
let fna = functionArgs v;
let fna = lib.functionArgs v;
showFnas = concatStringsSep "," (libAttr.mapAttrsToList
(name: hasDefVal: if hasDefVal then "(${name})" else name)
fna);

View file

@ -200,6 +200,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "Eclipse Public License 1.0";
};
epl20 = spdx {
spdxId = "EPL-2.0";
fullName = "Eclipse Public License 2.0";
};
epson = {
fullName = "Seiko Epson Corporation Software License Agreement for Linux";
url = https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html;

View file

@ -231,6 +231,7 @@
fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>";
falsifian = "James Cook <james.cook@utoronto.ca>";
fare = "Francois-Rene Rideau <fahree@gmail.com>";
f-breidenstein = "Felix Breidenstein <mail@felixbreidenstein.de>";
fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
FireyFly = "Jonas Höglund <nix@firefly.nu>";
flokli = "Florian Klink <flokli@flokli.de>";
@ -542,6 +543,7 @@
pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
pmeunier = "Pierre-Étienne Meunier <pierre-etienne.meunier@inria.fr>";
pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>";
pneumaticat = "Kevin Liu <kevin@potatofrom.space>";
polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>";
pradeepchhetri = "Pradeep Chhetri <pradeep.chhetri89@gmail.com>";
prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";

View file

@ -155,7 +155,7 @@ rec {
# a module will resolve strictly the attributes used as argument but
# not their values. The values are forwarding the result of the
# evaluation of the option.
requiredArgs = builtins.attrNames (builtins.functionArgs f);
requiredArgs = builtins.attrNames (lib.functionArgs f);
context = name: ''while evaluating the module argument `${name}' in "${key}":'';
extraArgs = builtins.listToAttrs (map (name: {
inherit name;

View file

@ -52,7 +52,7 @@ rec {
# Pull in some builtins not included elsewhere.
inherit (builtins)
pathExists readFile isBool isFunction
pathExists readFile isBool
isInt add sub lessThan
seq deepSeq genericClosure;
@ -99,4 +99,29 @@ rec {
*/
warn = msg: builtins.trace "WARNING: ${msg}";
info = msg: builtins.trace "INFO: ${msg}";
# | Add metadata about expected function arguments to a function.
# The metadata should match the format given by
# builtins.functionArgs, i.e. a set from expected argument to a bool
# representing whether that argument has a default or not.
# setFunctionArgs : (a → b) → Map String Bool → (a → b)
#
# This function is necessary because you can't dynamically create a
# function of the { a, b ? foo, ... }: format, but some facilities
# like callPackage expect to be able to query expected arguments.
setFunctionArgs = f: args:
{ # TODO: Should we add call-time "type" checking like built in?
__functor = self: f;
__functionArgs = args;
};
# | Extract the expected function arguments from a function.
# This works both with nix-native { a, b ? foo, ... }: style
# functions and functions with args set with 'setFunctionArgs'. It
# has the same return type and semantics as builtins.functionArgs.
# setFunctionArgs : (a → b) → Map String Bool.
functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
isFunction = f: builtins.isFunction f ||
(f ? __functor && isFunction (f.__functor f));
}

View file

@ -12,7 +12,7 @@ let
substFunction = x:
if builtins.isAttrs x then lib.mapAttrs (name: substFunction) x
else if builtins.isList x then map substFunction x
else if builtins.isFunction x then "<function>"
else if lib.isFunction x then "<function>"
else x;
# Clean up declaration sites to not refer to the NixOS source tree.

View file

@ -88,6 +88,28 @@ following incompatible changes:</para>
<option>services.pgmanage</option>.
</para>
</listitem>
<listitem>
<para>
Package attributes starting with a digit have been prefixed with an
underscore sign. This is to avoid quoting in the configuration and
other issues with command-line tools like <literal>nix-env</literal>.
The change affects the following packages:
<itemizedlist>
<listitem>
<para><literal>2048-in-terminal</literal><literal>_2048-in-terminal</literal></para>
</listitem>
<listitem>
<para><literal>90secondportraits</literal><literal>_90secondportraits</literal></para>
</listitem>
<listitem>
<para><literal>2bwm</literal><literal>_2bwm</literal></para>
</listitem>
<listitem>
<para><literal>389-ds-base</literal><literal>_389-ds-base</literal></para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">

View file

@ -85,7 +85,7 @@ rec {
testScript' =
# Call the test script with the computed nodes.
if builtins.isFunction testScript
if lib.isFunction testScript
then testScript { inherit nodes; }
else testScript;

View file

@ -302,6 +302,7 @@
kodi = 283;
restya-board = 284;
mighttpd2 = 285;
hass = 286;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -572,6 +573,7 @@
kodi = 283;
restya-board = 284;
mighttpd2 = 285;
hass = 286;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -4,10 +4,10 @@ with lib;
let
isConfig = x:
builtins.isAttrs x || builtins.isFunction x;
builtins.isAttrs x || lib.isFunction x;
optCall = f: x:
if builtins.isFunction f
if lib.isFunction f
then f x
else f;
@ -38,7 +38,7 @@ let
overlayType = mkOptionType {
name = "nixpkgs-overlay";
description = "nixpkgs overlay";
check = builtins.isFunction;
check = lib.isFunction;
merge = lib.mergeOneOption;
};

View file

@ -315,6 +315,7 @@
./services/misc/gogs.nix
./services/misc/gollum.nix
./services/misc/gpsd.nix
./services/misc/home-assistant.nix
./services/misc/ihaskell.nix
./services/misc/irkerd.nix
./services/misc/jackett.nix

View file

@ -17,7 +17,7 @@ let
# you should use files).
moduleFiles =
# FIXME: use typeOf (Nix 1.6.1).
filter (x: !isAttrs x && !builtins.isFunction x) modules;
filter (x: !isAttrs x && !lib.isFunction x) modules;
# Partition module files because between NixOS and non-NixOS files. NixOS
# files may change if the repository is updated.

View file

@ -0,0 +1,90 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.home-assistant;
configFile = pkgs.writeText "configuration.yaml" (builtins.toJSON cfg.config);
in {
meta.maintainers = with maintainers; [ dotlambda ];
options.services.home-assistant = {
enable = mkEnableOption "Home Assistant";
configDir = mkOption {
default = "/var/lib/hass";
type = types.path;
description = "The config directory, where your <filename>configuration.yaml</filename> is located.";
};
config = mkOption {
default = null;
type = with types; nullOr attrs;
example = literalExample ''
{
homeassistant = {
name = "Home";
time_zone = "UTC";
};
frontend = { };
http = { };
}
'';
description = ''
Your <filename>configuration.yaml</filename> as a Nix attribute set.
Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
'';
};
package = mkOption {
default = pkgs.home-assistant;
defaultText = "pkgs.home-assistant";
type = types.package;
example = literalExample ''
pkgs.home-assistant.override {
extraPackages = ps: with ps; [ colorlog ];
}
'';
description = ''
Home Assistant package to use.
Most Home Assistant components require additional dependencies,
which are best specified by overriding <literal>pkgs.home-assistant</literal>.
You can find the dependencies by searching for failed imports in your log or by looking at this list:
<link xlink:href="https://github.com/home-assistant/home-assistant/blob/master/requirements_all.txt"/>
'';
};
};
config = mkIf cfg.enable {
systemd.services.home-assistant = {
description = "Home Assistant";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = lib.optionalString (cfg.config != null) ''
rm -f ${cfg.configDir}/configuration.yaml
ln -s ${configFile} ${cfg.configDir}/configuration.yaml
'';
serviceConfig = {
ExecStart = ''
${cfg.package}/bin/hass --config "${cfg.configDir}"
'';
User = "hass";
Group = "hass";
Restart = "on-failure";
ProtectSystem = "strict";
ReadWritePaths = "${cfg.configDir}";
PrivateTmp = true;
};
};
users.extraUsers.hass = {
home = cfg.configDir;
createHome = true;
group = "hass";
uid = config.ids.uids.hass;
};
users.extraGroups.hass.gid = config.ids.gids.hass;
};
}

View file

@ -43,7 +43,7 @@ in
type = with types; listOf str;
default = [ "::1" "127.0.0.1" ];
description = ''
What addresses the server should listen on.
What addresses the server should listen on. (UDP+TCP 53)
'';
};
# TODO: perhaps options for more common stuff like cache size or forwarding
@ -99,9 +99,9 @@ in
Restart = "on-failure";
};
# Trust anchor goes from dns-root-data by default.
script = ''
exec '${package}/bin/kresd' --config '${configFile}' \
-k '${pkgs.dns-root-data}/root.key'
exec '${package}/bin/kresd' --config '${configFile}' --forks=1
'';
requires = [ "kresd.socket" ];

View file

@ -25,12 +25,12 @@ in
{ name = "2bwm";
start =
''
${pkgs."2bwm"}/bin/2bwm &
${pkgs._2bwm}/bin/2bwm &
waitPID=$!
'';
};
environment.systemPackages = [ pkgs."2bwm" ];
environment.systemPackages = [ pkgs._2bwm ];
};

View file

@ -230,9 +230,7 @@ let
RemainAfterExit = true;
};
script = ''
ip tuntap add dev "${i.name}" \
${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
user "${i.virtualOwner}"
ip tuntap add dev "${i.name}" mode "${i.virtualType}" user "${i.virtualOwner}"
'';
postStop = ''
ip link del ${i.name} || true

View file

@ -74,21 +74,17 @@ in
networks."99-main" = genericNetwork mkDefault;
}
(mkMerge (flip map interfaces (i: {
netdevs = mkIf i.virtual (
let
devType = if i.virtualType != null then i.virtualType
else (if hasPrefix "tun" i.name then "tun" else "tap");
in {
"40-${i.name}" = {
netdevConfig = {
Name = i.name;
Kind = devType;
};
"${devType}Config" = optionalAttrs (i.virtualOwner != null) {
User = i.virtualOwner;
};
netdevs = mkIf i.virtual ({
"40-${i.name}" = {
netdevConfig = {
Name = i.name;
Kind = i.virtualType;
};
});
"${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) {
User = i.virtualOwner;
};
};
});
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
name = mkDefault i.name;
DHCP = mkForce (dhcpStr

View file

@ -273,11 +273,13 @@ let
};
virtualType = mkOption {
default = null;
type = with types; nullOr (enum [ "tun" "tap" ]);
default = if hasPrefix "tun" name then "tun" else "tap";
defaultText = literalExample ''if hasPrefix "tun" name then "tun" else "tap"'';
type = with types; enum [ "tun" "tap" ];
description = ''
The explicit type of interface to create. Accepts tun or tap strings.
Also accepts null to implicitly detect the type of device.
The type of interface to create.
The default is TUN for an interface name starting
with "tun", otherwise TAP.
'';
};

View file

@ -267,6 +267,7 @@ in rec {
tests.graphite = callTest tests/graphite.nix {};
tests.hardened = callTest tests/hardened.nix { };
tests.hibernate = callTest tests/hibernate.nix {};
tests.home-assistant = callTest tests/home-assistant.nix { };
tests.hound = callTest tests/hound.nix {};
tests.i3wm = callTest tests/i3wm.nix {};
tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};

View file

@ -0,0 +1,41 @@
import ./make-test.nix ({ pkgs, ... }:
let
configDir = "/var/lib/foobar";
in {
name = "home-assistant";
nodes = {
hass =
{ config, pkgs, ... }:
{
services.home-assistant = {
inherit configDir;
enable = true;
config = {
homeassistant = {
name = "Home";
time_zone = "UTC";
};
frontend = { };
http = { };
};
};
};
};
testScript = ''
startAll;
$hass->waitForUnit("home-assistant.service");
# Since config is specified using a Nix attribute set,
# configuration.yaml is a link to the Nix store
$hass->succeed("test -L ${configDir}/configuration.yaml");
# Check that Home Assistant's web interface and API can be reached
$hass->waitForOpenPort(8123);
$hass->succeed("curl --fail http://localhost:8123/states");
$hass->succeed("curl --fail http://localhost:8123/api/ | grep 'API running'");
'';
})

View file

@ -2,4 +2,4 @@ f: { system ? builtins.currentSystem, ... } @ args:
with import ../lib/testing.nix { inherit system; };
makeTest (if builtins.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)

View file

@ -433,6 +433,49 @@ let
$client2->succeed("ip addr show dev vlan >&2");
'';
};
virtual = {
name = "Virtual";
machine = {
networking.interfaces."tap0" = {
ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ];
ip6 = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
virtual = true;
};
networking.interfaces."tun0" = {
ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ];
ip6 = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ];
virtual = true;
};
};
testScript = ''
my $targetList = <<'END';
tap0: tap UNKNOWN_FLAGS:800 user 0
tun0: tun UNKNOWN_FLAGS:800 user 0
END
# Wait for networking to come up
$machine->start;
$machine->waitForUnit("network.target");
# Test interfaces set up
my $list = $machine->succeed("ip tuntap list | sort");
"$list" eq "$targetList" or die(
"The list of virtual interfaces does not match the expected one:\n",
"Result:\n", "$list\n",
"Expected:\n", "$targetList\n"
);
# Test interfaces clean up
$machine->succeed("systemctl stop network-addresses-tap0");
$machine->succeed("systemctl stop network-addresses-tun0");
my $residue = $machine->succeed("ip tuntap list");
$residue eq "" or die(
"Some virtual interface has not been properly cleaned:\n",
"$residue\n"
);
'';
};
};
in mapAttrs (const (attrs: makeTest (attrs // {

View file

@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
buildInputs = [ glib ncurses mpd_clientlib ];
nativeBuildInputs = [ meson ninja pkgconfig gettext ];
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)";
homepage = https://www.musicpd.org/clients/ncmpc/;

View file

@ -27,9 +27,9 @@ in rec {
preview = mkStudio {
pname = "android-studio-preview";
version = "3.1.0.8"; # "Android Studio 3.1 Canary 9"
build = "173.4559767";
sha256Hash = "0wy3bqd4wvvcwlqcv06mwlqgc119pjpc102ix3yacqvki9qyi1r0";
version = "3.1.0.9"; # "Android Studio 3.1 Beta 1"
build = "173.4567466";
sha256Hash = "01c6a46pk5zbhwk2w038nm68fkx86nafiw1v2i5rdr93mxvx9cag";
meta = stable.meta // {
description = "The Official IDE for Android (preview version)";

View file

@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
version = "8.0.1428";
version = "8.0.1451";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
sha256 = "0pqqh7g96w8jfc5kvv2il6fcbhccwhk4k5skk52g1c1ixsblwz3y";
sha256 = "1vxd5mr8c62qyf7ax7gi2wka48282yplckq91154yd55xcqw36zx";
};
enableParallelBuilding = true;

View file

@ -38,12 +38,25 @@
## other
# If you want the resulting program to call itself
# "Firefox"/"Torbrowser" instead of "Nightly" or whatever, enable this
# option. However, in Firefox's case, those binaries may not be
# distributed without permission from the Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
, enableOfficialBranding ? isTorBrowserLike
# As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
# https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
# have permission to use the official firefox branding.
#
# Fur purposes of documentation the statement of @sylvestre:
# > As the person who did part of the work described in the LWN article
# > and release manager working for Mozilla, I can confirm the statement
# > that I made in
# > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006
# >
# > @garbas shared with me the list of patches applied for the Nix package.
# > As they are just for portability and tiny modifications, they don't
# > alter the experience of the product. In parallel, Rok also shared the
# > build options. They seem good (even if I cannot judge the quality of the
# > packaging of the underlying dependencies like sqlite, png, etc).
# > Therefor, as long as you keep the patch queue sane and you don't alter
# > the experience of Firefox users, you won't have any issues using the
# > official branding.
, enableOfficialBranding ? true
}:
assert stdenv.cc ? libc && stdenv.cc.libc != null;
@ -91,12 +104,14 @@ stdenv.mkDerivation (rec {
'' + lib.optionalString (stdenv.lib.versionAtLeast version "58.0.0") ''
cat >.mozconfig <<END_MOZCONFIG
${lib.concatStringsSep "\n" (map (flag: "ac_add_options ${flag}") configureFlags)}
${lib.optionalString googleAPISupport "ac_add_options --with-google-api-keyfile=$TMPDIR/ga"}
END_MOZCONFIG
'' + lib.optionalString googleAPISupport ''
# Google API key used by Chromium and Firefox.
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
# please get your own set of keys.
echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga
configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga")
'' + ''
# this will run autoconf213
${if (stdenv.lib.versionAtLeast version "58.0.0") then "./mach configure" else "make -f client.mk configure-files"}
@ -171,7 +186,6 @@ stdenv.mkDerivation (rec {
++ flag gssSupport "negotiateauth"
++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
++ flag webrtcSupport "webrtc"
++ lib.optional googleAPISupport "--with-google-api-keyfile=$TMPDIR/ga"
++ flag crashreporterSupport "crashreporter"
++ lib.optional drmSupport "--enable-eme=widevine"

View file

@ -0,0 +1,47 @@
{ stdenv, fetchFromGitHub
, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice_protocol, fontconfig
, libX11, freefont_ttf
}:
stdenv.mkDerivation rec {
name = "looking-glass-client-${version}";
version = "a10";
src = fetchFromGitHub {
owner = "gnif";
repo = "LookingGlass";
rev = version;
sha256 = "10jxnkrvskjzkg86iz3hnb5v91ykzx6pvcnpy1v4436g5f2d62wn";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
SDL SDL2 SDL2_ttf openssl spice_protocol fontconfig
libX11 freefont_ttf
];
enableParallelBuilding = true;
sourceRoot = "source/client";
installPhase = ''
mkdir -p $out
mv bin $out/
'';
meta = with stdenv.lib; {
description = "A KVM Frame Relay (KVMFR) implementation";
longDescription = ''
Looking Glass is an open source application that allows the use of a KVM
(Kernel-based Virtual Machine) configured for VGA PCI Pass-through
without an attached physical monitor, keyboard or mouse. This is the final
step required to move away from dual booting with other operating systems
for legacy programs that require high performance graphics.
'';
homepage = https://looking-glass.hostfission.com/;
license = licenses.gpl2Plus;
maintainers = [ maintainers.pneumaticat ];
platforms = platforms.linux;
};
}

View file

@ -1,15 +1,5 @@
From 00c5af939567429d40877845dc52b54fde2d8a50 Mon Sep 17 00:00:00 2001
From: "Alexander V. Nikolaev" <avn@avnik.info>
Date: Thu, 26 Nov 2015 10:53:12 +0200
Subject: [PATCH 1/3] Substitution vars for absolute paths
---
libqtile/pangocffi.py | 6 +++---
libqtile/xcursors.py | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py
index 27691d1..25f690d 100644
index 1e8f5c04..e860d43a 100644
--- a/libqtile/pangocffi.py
+++ b/libqtile/pangocffi.py
@@ -58,9 +58,9 @@ except ImportError:
@ -26,18 +16,15 @@ index 27691d1..25f690d 100644
def CairoContext(cairo_t):
diff --git a/libqtile/xcursors.py b/libqtile/xcursors.py
index e0e55e1..59b6428 100644
index f1133555..3e61204a 100644
--- a/libqtile/xcursors.py
+++ b/libqtile/xcursors.py
@@ -114,7 +114,7 @@ class Cursors(dict):
@@ -112,7 +112,7 @@ class Cursors(dict):
def _setup_xcursor_binding(self):
try:
- xcursor = ffi.dlopen('libxcb-cursor.so')
+ xcursor = ffi.dlopen('@xcb-cursor@/lib/libxcb-cursor.so')
except OSError:
self.log.warning("xcb-cursor not found, fallback to font pointer")
logger.warning("xcb-cursor not found, fallback to font pointer")
return False
--
2.6.3

View file

@ -1,57 +1,52 @@
From f299a0aa0eefcf16bb4990f00ac3946727f43ef3 Mon Sep 17 00:00:00 2001
From: "Alexander V. Nikolaev" <avn@avnik.info>
Date: Fri, 27 Nov 2015 10:49:48 +0200
Subject: [PATCH 2/3] Restore PATH and PYTHONPATH
---
bin/qtile | 1 +
bin/qtile-run | 1 +
bin/qtile-session | 2 ++
libqtile/utils.py | 7 +++++++
4 files changed, 11 insertions(+)
diff --git a/bin/qshell b/bin/qshell
index 2ba7e61c..0ac2a2ef 100755
--- a/bin/qshell
+++ b/bin/qshell
@@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
sys.path.insert(0, base_dir)
if __name__ == '__main__':
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
from libqtile.scripts import qshell
qshell.main()
diff --git a/bin/qtile b/bin/qtile
index 66034fe..ce3fcd1 100755
index 3e82814d..335b5cea 100755
--- a/bin/qtile
+++ b/bin/qtile
@@ -131,6 +131,7 @@ def make_qtile():
@@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
sys.path.insert(0, base_dir)
if __name__ == "__main__":
if __name__ == '__main__':
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
rename_process()
q = make_qtile()
try:
from libqtile.scripts import qtile
qtile.main()
diff --git a/bin/qtile-run b/bin/qtile-run
index ccedb96..646a476 100755
index e4b121be..1c203bc9 100755
--- a/bin/qtile-run
+++ b/bin/qtile-run
@@ -50,6 +50,7 @@ def main():
proc.wait()
@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
sys.path.insert(0, base_dir)
if __name__ == "__main__":
if __name__ == '__main__':
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
try:
main()
except KeyboardInterrupt:
diff --git a/bin/qtile-session b/bin/qtile-session
index 84f6a2d..da31b12 100755
--- a/bin/qtile-session
+++ b/bin/qtile-session
@@ -25,6 +25,8 @@
Qtile session manager.
"""
from libqtile.scripts import qtile_run
qtile_run.main()
diff --git a/bin/qtile-top b/bin/qtile-top
index 5316e0e7..272c6430 100755
--- a/bin/qtile-top
+++ b/bin/qtile-top
@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
sys.path.insert(0, base_dir)
+__import__("importlib").import_module("libqtile.utils").restore_os_environment()
+
from libqtile.log_utils import init_log
import logging
import os
if __name__ == '__main__':
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
from libqtile.scripts import qtile_top
qtile_top.main()
diff --git a/libqtile/utils.py b/libqtile/utils.py
index 284089b..ec3539e 100644
index 36ed0a58..bca9eab3 100644
--- a/libqtile/utils.py
+++ b/libqtile/utils.py
@@ -227,3 +227,11 @@ def describe_attributes(obj, attrs, func=None):
@@ -240,3 +240,11 @@ def describe_attributes(obj, attrs, func=None):
pairs.append('%s=%s' % (attr, value))
return ', '.join(pairs)

View file

@ -1,17 +1,8 @@
From b560c11078fecc35df2c62f34beda06c4e80a10d Mon Sep 17 00:00:00 2001
From: "Alexander V. Nikolaev" <avn@avnik.info>
Date: Fri, 27 Nov 2015 10:54:35 +0200
Subject: [PATCH 3/3] Restart executable
---
libqtile/manager.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libqtile/manager.py b/libqtile/manager.py
index b1a38e2..110f7d8 100644
index 36518a74..9b6bdd02 100644
--- a/libqtile/manager.py
+++ b/libqtile/manager.py
@@ -1339,7 +1339,7 @@ class Qtile(command.CommandObject):
@@ -1386,7 +1386,7 @@ class Qtile(command.CommandObject):
argv = [s for s in argv if not s.startswith('--with-state')]
argv.append('--with-state=' + buf.getvalue().decode())
@ -19,7 +10,4 @@ index b1a38e2..110f7d8 100644
+ self.cmd_execute(os.environ.get("QTILE_WRAPPER", "@out@/bin/qtile"), argv[1:])
def cmd_spawn(self, cmd):
"""
--
2.6.3
"""Run cmd in a shell.

View file

@ -7,13 +7,13 @@ in
python27Packages.buildPythonApplication rec {
name = "qtile-${version}";
version = "0.10.4";
version = "0.10.7";
src = fetchFromGitHub {
owner = "qtile";
repo = "qtile";
rev = "v${version}";
sha256 = "0rwklzgkp3x242xql6qmfpfnhr788hd3jc1l80pc5ybxlwyfx59i";
sha256 = "18szgplyym0b65vnaa8nqzadq6q0mhsiky9g5hqhn7xzf4kykmj8";
};
patches = [

View file

@ -40,7 +40,7 @@ packagesFun: # packages explicitly requested by the user
let
explicitRequires =
if builtins.isFunction packagesFun
if lib.isFunction packagesFun
then packagesFun self
else packagesFun;
in

View file

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix}:
{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix, singleWordlist ? null}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "scowl";
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$PWD/varcon"
'';
postBuild = ''
postBuild = stdenv.lib.optionalString (singleWordlist == null) ''
(
cd scowl/speller
make aspell
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = false;
installPhase = ''
installPhase = if singleWordlist == null then ''
eval "$preInstall"
mkdir -p "$out/share/scowl"
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
fi
echo $region $regcode $regcode_sz
for s in 10 20 30 35 40 50 55 60 70 80 90; do
for s in 10 20 30 35 40 50 55 60 70 80 90 95; do
./mk-list $regcode $s > "$out/share/dict/w$region.$s"
./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s"
./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s"
@ -88,6 +88,10 @@ stdenv.mkDerivation rec {
)
eval "$postInstall"
'' else ''
mkdir -p "$out/share/dict"
cd scowl
./mk-list ${singleWordlist} > "$out/share/dict/words.txt"
'';
meta = {

View file

@ -0,0 +1,47 @@
{ stdenv
, intltool
, fetchurl
, pkgconfig
, gtk3
, glib
, meson
, ninja
, upower
, desktop_file_utils
, wrapGAppsHook
, gnome3 }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
nativeBuildInputs = [
meson
ninja
pkgconfig
wrapGAppsHook
intltool
# needed by meson_post_install.sh
glib.dev
desktop_file_utils
];
buildInputs = [
gtk3
glib
upower
gnome3.defaultIconTheme
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://projects.gnome.org/gnome-power-manager/;
description = "View battery and power statistics provided by UPower";
maintainers = gnome3.maintainers;
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-power-manager-3.26.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-power-manager/3.26/gnome-power-manager-3.26.0.tar.xz;
sha256 = "20aee0b0b4015e7cc6fbabc3cbc4344c07c230fe3d195e90c8ae0dc5d55a2d4e";
};
}

View file

@ -36,6 +36,7 @@ let
nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs
gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool
gnome-getting-started-docs gnome-packagekit gnome-software
gnome-power-manager
];
gamesPackages = with gnome3; [ swell-foop lightsoff iagno
@ -297,6 +298,8 @@ let
gegl = gegl_0_3;
};
gnome-power-manager = callPackage ./apps/gnome-power-manager { };
gnome-weather = callPackage ./apps/gnome-weather { };
nautilus-sendto = callPackage ./apps/nautilus-sendto { };

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "gnome-shell-extension-clipboard-indicator-${version}";
version = "30";
src = fetchFromGitHub {
owner = "Tudmotu";
repo = "gnome-shell-extension-clipboard-indicator";
rev = "v${version}";
sha256 = "1fmgmxv2y678bj0kmymkgnnglcpqk8ww053izlq46xg7s27jjdf6";
};
uuid = "clipboard-indicator@tudmotu.com";
installPhase = ''
mkdir -p $out/share/gnome-shell/extensions/${uuid}
cp -r * $out/share/gnome-shell/extensions/${uuid}
'';
meta = with stdenv.lib; {
description = "Adds a clipboard indicator to the top panel and saves clipboard history";
license = licenses.mit;
maintainers = with maintainers; [ jonafato ];
platforms = platforms.linux;
homepage = https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator;
};
}

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "gnome-shell-extension-icon-hider-${version}";
version = "19";
src = fetchFromGitHub {
owner = "ikalnytskyi";
repo = "gnome-shell-extension-icon-hider";
rev = "v${version}";
sha256 = "0cifm6cmxwxrrrva41wvjvrzsdqaczfbillf2vv3wsb60dqr6h39";
};
uuid = "icon-hider@kalnitsky.org";
installPhase = ''
mkdir -p $out/share/gnome-shell/extensions
cp -r ${uuid} $out/share/gnome-shell/extensions
'';
meta = with stdenv.lib; {
description = "Icon Hider is a GNOME Shell extension for managing status area items";
license = licenses.bsd3;
maintainers = with maintainers; [ jonafato ];
platforms = platforms.linux;
homepage = https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider;
};
}

View file

@ -1,29 +1,42 @@
{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4, gnome3 }:
{ stdenv, fetchurl, meson, ninja, pkgconfig, exiv2, glib, gnome3, gobjectIntrospection, vala }:
let
majorVersion = "0.10";
in
stdenv.mkDerivation rec {
name = "gexiv2-${version}";
version = "${majorVersion}.6";
version = "${majorVersion}.7";
src = fetchurl {
url = "mirror://gnome/sources/gexiv2/${majorVersion}/${name}.tar.xz";
sha256 = "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk";
sha256 = "1f7312zygw77ml37i5qilhfvmjm59dn753ax71rcb2jm1p76vgcb";
};
patches = [
# Darwin compatibility (https://bugzilla.gnome.org/show_bug.cgi?id=791941)
(fetchurl {
url = https://bugzilla.gnome.org/attachment.cgi?id=365969;
sha256 = "06w744acgnz3hym7sm8c245yzlg05ldkmwgiz3yz4pp6h72brizj";
})
# GIR & Vala bindings fix (https://bugzilla.gnome.org/show_bug.cgi?id=792431)
(fetchurl {
url = https://bugzilla.gnome.org/attachment.cgi?id=366662;
sha256 = "1ljb2pap5v9z3zhx69ghfyrbl2b62ck35nyn7h5h410d008lcb4v";
})
];
preConfigure = ''
patchShebangs .
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ glib libtool m4 ];
nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection vala ];
buildInputs = [ glib ];
propagatedBuildInputs = [ exiv2 ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/gexiv2;
description = "GObject wrapper around the Exiv2 photo metadata library";
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = gnome3.maintainers;
};
}

View file

@ -6,8 +6,8 @@ rec {
*/
callPackageWith = autoArgs: fn: args:
let
f = if builtins.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
f = if pkgs.lib.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (stdenv.lib.functionArgs f) autoArgs;
in f (auto // args);
callPackage = callPackageWith pkgs;

View file

@ -81,8 +81,8 @@ let
# lost on `.override`) but determine the auto-args based on `drv` (the problem here
# is that nix has no way to "passthrough" args while preserving the reflection
# info that callPackage uses to determine the arguments).
drv = if builtins.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (builtins.functionArgs drv) scope;
drv = if stdenv.lib.isFunction fn then fn else import fn;
auto = builtins.intersectAttrs (stdenv.lib.functionArgs drv) scope;
# this wraps the `drv` function to add a `overrideScope` function to the result.
drvScope = allArgs: drv allArgs // {

View file

@ -5,7 +5,7 @@ let
fetchDebianPatch = { name, debname, sha256 }:
fetchpatch {
inherit sha256 name;
url = "https://anonscm.debian.org/cgit/pkg-multimedia/audiofile.git/plain/debian/patches/${debname}?h=debian/0.3.6-4";
url = "https://salsa.debian.org/multimedia-team/audiofile/raw/debian/0.3.6-4/debian/patches/${debname}";
};
in

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "babl-0.1.38";
name = "babl-0.1.42";
src = fetchurl {
url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
sha256 = "11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0";
sha256 = "1wc7fyj9bfqfiwf1w33g3vv3wcl18pd9cxr9fc0iy391szrsynb8";
};
doCheck = true;

View file

@ -3,13 +3,15 @@
, libwebp, gnome3 }:
stdenv.mkDerivation rec {
name = "gegl-0.3.26";
name = "gegl-0.3.28";
src = fetchurl {
url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
sha256 = "1a9zbi6ws0r0sqynvg2fh3ad0ipnphg7w62y7whlcrbpqi29izvf";
sha256 = "1zr3gmmzjhp2d3d3h51x80r5q7gs9rv67ywx69sif6as99h8fbqm";
};
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
hardeningDisable = [ "format" ];
# needs fonts otherwise don't know how to pass them
@ -28,11 +30,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
meta = {
meta = with stdenv.lib; {
description = "Graph-based image processing framework";
homepage = http://www.gegl.org;
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ jtojnar ];
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.unix;
};
}

View file

@ -1,4 +1,7 @@
{ stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext, gobjectIntrospection, dbus, libintlOrEmpty }:
{ stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext
, gobjectIntrospection, dbus, libintlOrEmpty
, fixDarwinDylibNames
}:
stdenv.mkDerivation rec {
name = "json-glib-${minVer}.2";
@ -11,7 +14,8 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ glib ];
nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
buildInputs = libintlOrEmpty;
buildInputs = libintlOrEmpty
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";

View file

@ -25,6 +25,9 @@ stdenv.mkDerivation rec {
substituteInPlace libqalculate/Calculator.cc \
--replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
--replace '"gnuplot -"' '"${gnuplot}/bin/gnuplot -"'
'' + stdenv.lib.optionalString stdenv.cc.isClang ''
substituteInPlace src/qalc.cc \
--replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))'
'';
preBuild = ''

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, perl }:
stdenv.mkDerivation rec {
version = "0.9.3";
version = "0.9.5";
name = "liburcu-${version}";
src = fetchurl {
url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
sha256 = "01j0xp3f0w147yfyzybkjvb7i67i7prsvnkssgvgwry9lvk35khv";
sha256 = "19iq7985rhvbrj99hlmbyq2wjrkhssvigh5454mhaprn3c7jaj6r";
};
nativeBuildInputs = stdenv.lib.optional doCheck perl;

View file

@ -101,7 +101,7 @@ nix_lisp_build_system(){
:separator \":\")
for l in sb-alien::*shared-objects*
for ns := (sb-alien::shared-object-namestring l)
do (and (> (length ns) 0) (not (equal (elt ns 0) "/"))
do (and (> (length ns) 0) (not (equal (elt ns 0) \"/\"))
(let*
((prefix (find-if (lambda (s) (probe-file (format nil \"~a/~a\" s ns))) libpath))
(fullpath (and prefix (format nil \"~a/~a\" prefix ns))))

View file

@ -15,6 +15,8 @@ setLisp () {
sbcl) NIX_LISP_COMMAND="$j" ;;
ecl) NIX_LISP_COMMAND="$j" ;;
clisp) NIX_LISP_COMMAND="$j" ;;
lx86cl) NIX_LISP_COMMAND="$j" ;;
lx86cl64) NIX_LISP_COMMAND="$j" ;;
esac
done
fi

View file

@ -1,4 +1,4 @@
{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }:
{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }:
stdenv.mkDerivation {
name = "xpwn-0.5.8git";
@ -18,7 +18,7 @@ stdenv.mkDerivation {
sed -i -e '/install/d' CMakeLists.txt
'';
buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ];
buildInputs = [ cmake zlib libpng bzip2 libusb openssl ];
cmakeFlags = [
"-DCMAKE_OSX_DEPLOYMENT_TARGET="

View file

@ -3,7 +3,7 @@
buildPythonPackage rec {
pname = "aiohttp-cors";
version = "0.6.0";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1r0mb4dw0dc1lpi54dk5vxqs06nyhvagp76lyrvk7rd94z5mjkd4";

View file

@ -14,7 +14,6 @@
buildPythonPackage rec {
pname = "aiohttp";
version = "2.3.9";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
@ -33,4 +32,4 @@ buildPythonPackage rec {
license = with lib.licenses; [ asl20 ];
homepage = https://github.com/KeepSafe/aiohttp/;
};
}
}

View file

@ -0,0 +1,26 @@
{ stdenv, buildPythonPackage, fetchPypi, pytz, pytest }:
buildPythonPackage rec {
pname = "astral";
version = "1.4";
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "1zm1ypc6w279gh7lbgsfbzfxk2x4gihlq3rfh59hj70hmhjwiwp7";
};
propagatedBuildInputs = [ pytz ];
checkInputs = [ pytest ];
checkPhase = ''
py.test -k "not test_GoogleLocator"
'';
meta = with stdenv.lib; {
description = "Calculations for the position of the sun and the moon";
homepage = https://github.com/sffjunkie/astral/;
license = licenses.asl20;
maintainers = with maintainers; [ flokli ];
};
}

View file

@ -0,0 +1,20 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "ptyprocess";
version = "0.5.2";
src = fetchPypi {
inherit pname version;
sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365";
};
meta = {
description = "Run a subprocess in a pseudo terminal";
homepage = https://github.com/pexpect/ptyprocess;
license = lib.licenses.isc;
};
}

View file

@ -0,0 +1,20 @@
{ stdenv, buildPythonPackage, fetchPypi, pytest, aiohttp }:
buildPythonPackage rec {
pname = "pytest-aiohttp";
version = "0.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9";
};
propagatedBuildInputs = [ pytest aiohttp ];
meta = with stdenv.lib; {
homepage = https://github.com/aio-libs/pytest-aiohttp/;
description = "Pytest plugin for aiohttp support";
license = licenses.asl20;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -0,0 +1,31 @@
{ stdenv
, buildPythonPackage
, fetchPypi
, xorg
, cffi
, six
}:
buildPythonPackage rec {
version = "0.5.1";
pname = "xcffib";
src = fetchPypi {
inherit pname version;
sha256 = "09gbnmr5vn58mm8xi3fmd7fz6743cks6c46dphnxzwax6zsxmy60";
};
patchPhase = ''
# Hardcode cairo library path
sed -e 's,ffi\.dlopen(,&"${xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py
'';
propagatedBuildInputs = [ cffi six ];
meta = with stdenv.lib; {
description = "A drop in replacement for xpyb, an XCB python binding";
homepage = "https://github.com/tych0/xcffib";
license = licenses.asl20;
maintainers = with maintainers; [ kamilchm ];
};
}

View file

@ -44,6 +44,6 @@ buildGoPackage {
homepage = https://buildkite.com/docs/agent;
license = licenses.mit;
maintainers = with maintainers; [ pawelpacana zimbatm ];
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -9,11 +9,11 @@ let
in stdenv.mkDerivation rec {
name = "cups-filters-${version}";
version = "1.16.0";
version = "1.20.0";
src = fetchurl {
url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
sha256 = "1kcndzpbbcaxafnz1wa6acy3p3r5likfqmf057i5q0q6i176lz5k";
sha256 = "0g6npicm1cwmxqi6ymfvf9wkplp4z2rzvjjl9v4yfvqdjq85gxnp";
};
nativeBuildInputs = [ pkgconfig makeWrapper ];

View file

@ -777,11 +777,11 @@ rec {
};
vim-elixir = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "vim-elixir-2017-10-20";
name = "vim-elixir-2018-02-01";
src = fetchgit {
url = "https://github.com/elixir-lang/vim-elixir";
rev = "3066d5fb5e1c694e607b2bb5d8277266ca524262";
sha256 = "1j5sic3rssh2kaj73lv4m5sck3irn1jzgkpdr5qw7qi0gyfgpg81";
rev = "8ca41c1f02208dd5ca68c7bcb6c71b3b92f46af6";
sha256 = "0dp9cqflbwc3h1hzgn9fyaxhcn6q9bclgfy9kkgywp8zk5kwzb7p";
};
dependencies = [];

View file

@ -186,7 +186,7 @@ let
# There should be an IOVideo here, but they haven't released it :(
};
IOKitSrcs = stdenv.lib.mapAttrs (name: value: if builtins.isFunction value then value name else value) IOKitSpecs;
IOKitSrcs = stdenv.lib.mapAttrs (name: value: if stdenv.lib.isFunction value then value name else value) IOKitSpecs;
adv_cmds = applePackage "adv_cmds" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {};

View file

@ -6,7 +6,7 @@ stdenv.mkDerivation {
src = fetchgit {
url = "git://github.com/shinh/maloader.git";
rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
sha256 = "07j9b7n0grrbxxyn2h8pnk6pa8b370wq5z5zwbds8dlhi7q37rhn";
sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw";
};
postPatch = ''

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "lttng-modules-${version}";
name = "${pname}-${kernel.version}";
version = "2.10.0";
version = "2.10.5";
src = fetchurl {
url = "http://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
sha256 = "1gzi7j97zymzfj6b7mlih35djflwfgg93b63q9rbs5w1kclmsrgz";
sha256 = "07rs01zwr4bmjamplix5qz1c6mb6wdawb68vyn0w6wx68ppbpnxq";
};
hardeningDisable = [ "pic" ];

View file

@ -17,11 +17,11 @@ in
{
# Policy: use the highest stable version as the default (on our master).
stable = generic {
version = "387.34";
sha256_32bit = "1haqk5h1fcmwp7kn9644k280wn409kh0xbivrj1ks8r8f4nbvfmq";
sha256_64bit = "06w8dw6hb40ymz6ax7v82j29ihmp3d7yxsi8ah9ch10jldl973z4";
settingsSha256 = "0dpm22ggpr93ypz24ap9vgx43ik7lw6cxcb29v8ys2iinhs7zm7s";
persistencedSha256 = "02lf9b6j85amc1vr84lj98q74a680nrx4fmpxj17cz597yq8s200";
version = "390.25";
sha256_32bit = "0fkbpx01l46pprrd4nlc2y6hfmkb55ddlwm1r84kr6j08qmmb0qi";
sha256_64bit = "0whsls1mm6vkll5qmxnyz8vjgspp1rmqpsampgi83k62n514c08r";
settingsSha256 = "1jhbr68z36s3fr9vx3ga2f6yrzlwpc0j5mw8h12g65p7wdsbk6y7";
persistencedSha256 = "033azbhi50f1b0lw759sncgf7ckh2m2c0khj5v15sch9kl1fzk8i";
};
beta = generic {

View file

@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
# Note: ATM only the libraries have been tested in nixpkgs.
stdenv.mkDerivation rec {
name = "knot-dns-${version}";
version = "2.6.3";
version = "2.6.4";
src = fetchurl {
url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
sha256 = "2fb27a4006865fc12873cbadc5b4a870ec65d3293a284972c031522282987790";
sha256 = "1d0d37b5047ecd554d927519d5565c29c1ba9b501c100eb5f3a5af184d75386a";
};
outputs = [ "bin" "out" "dev" ];

View file

@ -1,63 +1,55 @@
{ stdenv, fetchurl, pkgconfig, hexdump, which
{ stdenv, fetchurl, runCommand, pkgconfig, hexdump, which
, knot-dns, luajit, libuv, lmdb, gnutls, nettle
, cmocka, systemd, dns-root-data, makeWrapper
, extraFeatures ? false /* catch-all if defaults aren't enough */
, hiredis, libmemcached, luajitPackages
}:
let # un-indented, over the whole file
let
inherit (stdenv.lib) optional optionals optionalString;
in
stdenv.mkDerivation rec {
result = if extraFeatures then wrapped-full else unwrapped;
inherit (stdenv.lib) optional optionals optionalString concatStringsSep;
unwrapped = stdenv.mkDerivation rec {
name = "knot-resolver-${version}";
version = "1.5.3";
version = "2.0.0";
src = fetchurl {
url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
sha256 = "03sb05zz6qn966apcprdqhmirkz7kjdbx8hswbvgamk1s2xd7v6f";
sha256 = "b40d9dbef05031464dfff57712f476e7cddc0fda26b41daf660c5a33ea203ce0";
};
outputs = [ "out" "dev" ];
configurePhase = ":";
nativeBuildInputs = [ pkgconfig which makeWrapper hexdump ];
nativeBuildInputs = [ pkgconfig which hexdump ];
# http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
buildInputs = [ knot-dns luajit libuv gnutls nettle lmdb ]
++ optional doInstallCheck cmocka
++ optional doCheck cmocka
++ optional stdenv.isLinux systemd # sd_notify
++ optionals extraFeatures [
hiredis libmemcached # additional cache backends
];
## optional dependencies; TODO: libedit, dnstap, http2 module?
## optional dependencies; TODO: libedit, dnstap
;
makeFlags = [ "PREFIX=$(out)" "ROOTHINTS=${dns-root-data}/root.hints" ];
makeFlags = [
"PREFIX=$(out)"
"ROOTHINTS=${dns-root-data}/root.hints"
"KEYFILE_DEFAULT=${dns-root-data}/root.ds"
];
CFLAGS = [ "-O2" "-DNDEBUG" ];
enableParallelBuilding = true;
doCheck = true;
doInstallCheck = true;
doInstallCheck = false; # FIXME
preInstallCheck = ''
patchShebangs tests/config/runtest.sh
'';
postInstall = ''
rm "$out"/etc/kresd/root.hints # using system-wide instead
''
# optional: to allow auto-bootstrapping root trust anchor via https
+ (with luajitPackages; ''
wrapProgram "$out/sbin/kresd" \
--set LUA_PATH '${
stdenv.lib.concatStringsSep ";"
(map getLuaPath [ luasec luasocket ])
}' \
--set LUA_CPATH '${
stdenv.lib.concatStringsSep ";"
(map getLuaCPath [ luasec luasocket ])
}'
'');
rm "$out"/etc/knot-resolver/root.hints # using system-wide instead
'';
meta = with stdenv.lib; {
description = "Caching validating DNS resolver, from .cz domain registry";
@ -67,5 +59,24 @@ stdenv.mkDerivation rec {
platforms = filter (p: p != "aarch64-linux") platforms.unix;
maintainers = [ maintainers.vcunat /* upstream developer */ ];
};
}
};
wrapped-full = with luajitPackages; let
luaPkgs = [ luasec luasocket ]; # TODO: cqueues and others for http2 module
in runCommand unwrapped.name
{
nativeBuildInputs = [ makeWrapper ];
preferLocalBuild = true;
allowSubstitutes = false;
}
''
mkdir -p "$out/sbin" "$out/share"
makeWrapper '${unwrapped}/sbin/kresd' "$out"/sbin/kresd \
--set LUA_PATH '${concatStringsSep ";" (map getLuaPath luaPkgs)}' \
--set LUA_CPATH '${concatStringsSep ";" (map getLuaCPath luaPkgs)}'
ln -sr '${unwrapped}/share/man' "$out"/share/
ln -sr "$out"/{sbin,bin}
'';
in result

View file

@ -0,0 +1,72 @@
{ stdenv, fetchFromGitHub, python3
, extraPackages ? ps: []
, skipPip ? true }:
let
py = python3.override {
packageOverrides = self: super: {
yarl = super.yarl.overridePythonAttrs (oldAttrs: rec {
version = "0.18.0";
src = oldAttrs.src.override {
inherit version;
sha256 = "11j8symkxh0ngvpddqpj85qmk6p70p20jca3alxc181gk3vx785s";
};
});
aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
version = "2.3.7";
src = oldAttrs.src.override {
inherit version;
sha256 = "0fzfpx5ny7559xrxaawnylq20dvrkjiag0ypcd13frwwivrlsagy";
};
});
hass-frontend = super.callPackage ./frontend.nix { };
};
};
# Ensure that we are using a consistent package set
extraBuildInputs = extraPackages py.pkgs;
in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant";
version = "0.62.1";
diabled = !isPy3k;
# PyPI tarball is missing tests/ directory
src = fetchFromGitHub {
owner = "home-assistant";
repo = "home-assistant";
rev = version;
sha256 = "0151prwk2ci6bih0mdmc3r328nrvazn9jwk0w26wmd4cpvnb5h26";
};
propagatedBuildInputs = [
# From setup.py
requests pyyaml pytz pip jinja2 voluptuous typing aiohttp yarl async-timeout chardet astral certifi
# From the components that are part of the default configuration.yaml
sqlalchemy aiohttp-cors hass-frontend user-agents distro mutagen xmltodict netdisco
] ++ extraBuildInputs;
checkInputs = [
pytest requests-mock pydispatcher pytest-aiohttp
];
checkPhase = ''
# The components' dependencies are not included, so they cannot be tested
py.test --ignore tests/components
# Some basic components should be tested however
py.test \
tests/components/{group,http} \
tests/components/test_{api,configurator,demo,discovery,frontend,init,introduction,logger,script,shell_command,system_log,websocket_api}.py
'';
makeWrapperArgs = [] ++ stdenv.lib.optional skipPip [ "--add-flags --skip-pip" ];
meta = with stdenv.lib; {
homepage = https://home-assistant.io/;
description = "Open-source home automation platform running on Python 3";
license = licenses.asl20;
maintainers = with maintainers; [ f-breidenstein dotlambda ];
};
}

View file

@ -0,0 +1,11 @@
{ stdenv, fetchPypi, buildPythonPackage }:
buildPythonPackage rec {
pname = "home-assistant-frontend";
version = "20180130.0";
src = fetchPypi {
inherit pname version;
sha256 = "0b9klisl7hh30rml8qlrp9gpz33z9b825pd1vxbck48k0s98z1zi";
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, perl, pkgconfig, systemd, openssl
{ stdenv, lib, fetchurl, fetchpatch, perl, pkgconfig, systemd, openssl
, bzip2, zlib, lz4, inotify-tools, pam, libcap
, clucene_core_2, icu, openldap, libsodium, libstemmer
# Auth modules
@ -47,6 +47,16 @@ stdenv.mkDerivation rec {
# so we can symlink plugins from several packages there.
# The symlinking needs to be done in NixOS.
./2.2.x-module_dir.patch
(fetchpatch {
name = "CVE-2017-14132_part1.patch";
url = https://github.com/dovecot/core/commit/1a29ed2f96da1be22fa5a4d96c7583aa81b8b060.patch;
sha256 = "1pcfzxr8xlwbpa7z19grp7mlvdnan6ln8zw74dj4pdmynmlk4aw9";
})
(fetchpatch {
name = "CVE-2017-14132_part2.patch";
url = https://github.com/dovecot/core/commit/a9b135760aea6d1790d447d351c56b78889dac22.patch;
sha256 = "0082iid5rvjmh003xi9s09jld2rb31hbvni0yai1h1ggbmd5zf8l";
})
];
configureFlags = [

View file

@ -1,34 +0,0 @@
{ stdenv, fetchhg, autoconf, automake, dovecot, openssl }:
stdenv.mkDerivation {
name = "dovecot-antispam-20130429";
src = fetchhg {
url = "http://hg.dovecot.org/dovecot-antispam-plugin/";
rev = "5ebc6aae4d7c";
sha256 = "181i79c9sf3a80mgmycfq1f77z7fpn3j2s0qiddrj16h3yklf4gv";
};
buildInputs = [ dovecot openssl ];
nativeBuildInputs = [ autoconf automake ];
preConfigure = ''
./autogen.sh
# Ugly hack; any ideas?
sed "s,^dovecot_moduledir=.*,dovecot_moduledir=$out/lib/dovecot," ${dovecot}/lib/dovecot/dovecot-config > dovecot-config
'';
configureFlags = [
"--with-dovecot=."
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://wiki2.dovecot.org/Plugins/Antispam;
description = "An antispam plugin for the Dovecot IMAP server";
license = licenses.gpl2;
maintainers = with maintainers; [ abbradar ];
platforms = platforms.linux;
};
}

View file

@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
meta = {
homepage = http://www.postfix.org/;
description = "A fast, easy to administer, and secure mail server";
license = lib.licenses.bsdOriginal;
license = with lib.licenses; [ ipl10 epl20 ];
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.rickynils ];
};

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, meson, ninja }:
{ stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
stdenv.mkDerivation rec {
version = "2.13";
@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "1g1n6rk8kn87mbjqxxj0vi7haj8xx21xmqlzbrx2fvyp5357zvsq";
};
nativeBuildInputs = [ meson ninja ];
nativeBuildInputs = [ meson ninja ]
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
meta = with stdenv.lib; {
description = "Client library for MPD (music player daemon)";

View file

@ -0,0 +1,41 @@
# This file was generated by https://github.com/kamilchm/go2nix v2.0-dev
{ stdenv, buildGoPackage, zip, fetchFromGitHub }:
buildGoPackage rec {
name = "teleport-${version}";
version = "2.4.0";
# This repo has a private submodule "e" which fetchgit cannot handle without failing.
src = fetchFromGitHub {
owner = "gravitational";
repo = "teleport";
rev = "v${version}";
sha256 = "1x4xnqjyb87pzmn2c59fwmzfx1f2k0xhqn2xgki3722qmj2ss846";
};
goPackagePath = "github.com/gravitational/teleport";
subPackages = [ "tool/tctl" "tool/teleport" "tool/tsh" ];
buildInputs = [ zip ];
postBuild = ''
pushd .
cd $NIX_BUILD_TOP/go/src/github.com/gravitational/teleport
mkdir -p build
echo "making webassets"
make build/webassets.zip
cat build/webassets.zip >> $NIX_BUILD_TOP/go/bin/teleport
rm -fr build/webassets.zip
cd $NIX_BUILD_TOP/go/bin
zip -q -A teleport
popd
'';
dontStrip = true;
meta = {
description = "A SSH CA management suite";
homepage = "https://gravitational.com/teleport/";
license = stdenv.lib.licenses.asl20;
maintainers = [ stdenv.lib.maintainers.tomberek ];
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "ethtool-${version}";
version = "4.13";
version = "4.15";
src = fetchurl {
url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
sha256 = "1flwz4x76ajxigadq9knxgwr778g03y3qfx6c7rflc3x020a7hdp";
sha256 = "06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi";
};
meta = with stdenv.lib; {

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "ncdu-${version}";
version = "1.12";
version = "1.13";
src = fetchurl {
url = "http://dev.yorhel.nl/download/${name}.tar.gz";
sha256 = "16j9fyw73y1lk05a35i4q9i66laklgsx41lz5rxfr8m28x3lw3l2";
sha256 = "0ni56ymlii577src4dzfbrq1mznbf6i0nka4bvh2sb1971f2ingl";
};
buildInputs = [ ncurses ];

View file

@ -14,13 +14,13 @@ let
in stdenv.mkDerivation rec {
name = "tlp-${version}";
version = "1.0";
version = "1.1";
src = fetchFromGitHub {
owner = "linrunner";
repo = "TLP";
rev = "${version}";
sha256 = "0gq1y1qnzwyv7cw32g4ymlfssi2ayrbnd04y4l242k6n41d05bij";
sha256 = "01bhb9hdsck1g2s5jvafr3ywml9k2qz7x2cf42a3z8g5d23pdfpy";
};
makeFlags = [ "DESTDIR=$(out)"

View file

@ -1,19 +1,22 @@
{ stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1 }:
{ stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1
, enableUnsafe ? false }:
stdenv.mkDerivation rec {
name = "ttwatch-${version}";
version = "2017-12-31";
version = "2018-02-01";
src = fetchFromGitHub {
owner = "ryanbinns";
repo = "ttwatch";
rev = "a261851d91e3304a47a04995758f6940747bc54a";
sha256 = "0llcai1yxikh8nvzry71rr1zz365rg0k0lwp24np5w74kzza3kwx";
rev = "b5c54647ed9b640584e53c4c15ee12d210790021";
sha256 = "136sskz9hnbwp49gxp983mswzgpl8yfc25ni79csbsnwp0k4lb94";
};
nativeBuildInputs = [ cmake perl ];
buildInputs = [ openssl curl libusb1 ];
cmakeFlags = stdenv.lib.optional enableUnsafe [ "-Dunsafe=on" ];
preFixup = ''
chmod +x $out/bin/ttbin2mysports
'';

View file

@ -41,6 +41,9 @@ perlPackages.buildPerlPackage rec {
mv wwwroot "$out/wwwroot"
rm -r "$out/wwwroot/classes/src/"
mkdir -p "$out/share/awstats"
mv tools "$out/share/awstats/tools"
mkdir -p "$bin/bin"
ln -s "$out/wwwroot/cgi-bin/awstats.pl" "$bin/bin/awstats"

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "supervise-${version}";
version = "1.1.0";
version = "1.2.0";
src = fetchzip {
url = "https://github.com/catern/supervise/releases/download/v${version}/supervise-${version}.tar.gz";
sha256 = "0i20znchvydk8ww31ka4b0wjkaizz38racwgvqj32idwhqgar5x2";
sha256 = "07v3197nf3jbx2w6jxzyk9b8p5qjj9irpr4jvv5lkfbi7s6rav3k";
};
meta = with stdenv.lib; {

View file

@ -37,8 +37,10 @@ let
/* # beware: the URL below changes contents continuously
curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \
| xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix */
orig = import ./pkgs.nix tl; # XXX XXX XXX FIXME: the file is probably too big now XXX XXX XXX XXX XXX XXX
removeSelfDep = lib.mapAttrs (n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; } else p);
orig = import ./pkgs.nix tl;
removeSelfDep = lib.mapAttrs
(n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; }
else p);
clean = removeSelfDep (orig // {
# overrides of texlive.tlpdb
@ -112,6 +114,10 @@ let
urls = args.urls or (if args ? url then [ args.url ] else
map (up: "${up}/${urlName}.tar.xz") urlPrefixes
);
# Upstream refuses to distribute stable tarballs, so we host snapshots on IPFS.
# Common packages should get served from the binary cache anyway.
# See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
urlPrefixes = args.urlPrefixes or [
http://146.185.144.154/texlive-2017
# IPFS GW is second, as it doesn't have a good time-outing behavior

View file

@ -24,7 +24,11 @@ in
### Deprecated aliases - for backward compatibility
mapAliases (rec {
accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
_2048-in-terminal = "2048-in-terminal"; # added 2017-01-16
_2bwm = "2bwm"; # added 2017-01-16
_389-ds-base = "389-ds-base"; # added 2017-01-16
_90secondportraits = "90secondsportraits"; # added 2017-01-16
accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
adobeReader = adobe-reader; # added 2013-11-04
aircrackng = aircrack-ng; # added 2016-01-14
ammonite-repl = ammonite; # added 2017-05-02

View file

@ -4831,6 +4831,8 @@ with pkgs;
telegraf = callPackage ../servers/monitoring/telegraf { };
teleport = callPackage ../servers/teleport {};
telepresence = callPackage ../tools/networking/telepresence { };
tewisay = callPackage ../tools/misc/tewisay { };
@ -7340,7 +7342,7 @@ with pkgs;
cide = callPackage ../development/tools/continuous-integration/cide { };
"cl-launch" = callPackage ../development/tools/misc/cl-launch {};
cl-launch = callPackage ../development/tools/misc/cl-launch {};
cloudfoundry-cli = callPackage ../development/tools/cloudfoundry-cli { };
@ -11780,7 +11782,7 @@ with pkgs;
### SERVERS
"389-ds-base" = callPackage ../servers/ldap/389 {
_389-ds-base = callPackage ../servers/ldap/389 {
kerberos = libkrb5;
};
@ -11901,7 +11903,6 @@ with pkgs;
dovecot = callPackage ../servers/mail/dovecot { };
dovecot_pigeonhole = callPackage ../servers/mail/dovecot/plugins/pigeonhole { };
dovecot_antispam = callPackage ../servers/mail/dovecot/plugins/antispam { };
dspam = callPackage ../servers/mail/dspam {
inherit (perlPackages) NetSMTP;
@ -11976,6 +11977,8 @@ with pkgs;
hiawatha = callPackage ../servers/http/hiawatha {};
home-assistant = callPackage ../servers/home-assistant { };
ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
jboss = callPackage ../servers/http/jboss { };
@ -14104,7 +14107,7 @@ with pkgs;
### APPLICATIONS
"2bwm" = callPackage ../applications/window-managers/2bwm {
_2bwm = callPackage ../applications/window-managers/2bwm {
patches = config."2bwm".patches or [];
};
@ -15009,7 +15012,7 @@ with pkgs;
inherit (gnome3) evince;
evolution_data_server = gnome3.evolution_data_server;
keepass = callPackage ../applications/misc/keepass {
keepass = callPackage ../applications/misc/keepass {
buildDotnetPackage = buildDotnetPackage.override { mono = mono54; };
};
@ -16037,6 +16040,8 @@ with pkgs;
flavour = "git";
};
looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { };
lumail = callPackage ../applications/networking/mailreaders/lumail { };
lv2bm = callPackage ../applications/audio/lv2bm { };
@ -18136,9 +18141,9 @@ with pkgs;
### GAMES
"2048-in-terminal" = callPackage ../games/2048-in-terminal { };
_2048-in-terminal = callPackage ../games/2048-in-terminal { };
"90secondportraits" = callPackage ../games/90secondportraits { love = love_0_10; };
_90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; };
adom = callPackage ../games/adom { };
@ -18873,8 +18878,10 @@ with pkgs;
gnomeExtensions = {
caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };
dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { };
dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { };
icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { };
nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { };
pixel-saver = callPackage ../desktops/gnome-3/extensions/pixel-saver { };

View file

@ -49,7 +49,7 @@ in let
# { /* the config */ } and
# { pkgs, ... } : { /* the config */ }
config =
if builtins.isFunction configExpr
if lib.isFunction configExpr
then configExpr { inherit pkgs; }
else configExpr;

View file

@ -40,7 +40,7 @@ let
makeOverridablePythonPackage = f: origArgs:
let
ff = f origArgs;
overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs);
in
if builtins.isAttrs ff then (ff // {
overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs);
@ -165,6 +165,8 @@ in {
asn1crypto = callPackage ../development/python-modules/asn1crypto { };
astral = callPackage ../development/python-modules/astral { };
astropy = callPackage ../development/python-modules/astropy { };
augeas = callPackage ../development/python-modules/augeas {
@ -3215,6 +3217,8 @@ in {
pytest-asyncio = callPackage ../development/python-modules/pytest-asyncio { };
pytest-aiohttp = callPackage ../development/python-modules/pytest-aiohttp { };
pytestcache = buildPythonPackage rec {
name = "pytest-cache-1.0";
src = pkgs.fetchurl {
@ -14446,21 +14450,7 @@ in {
};
};
ptyprocess = buildPythonPackage rec {
name = "ptyprocess-${version}";
version = "0.5";
src = pkgs.fetchurl {
url = "mirror://pypi/p/ptyprocess/${name}.tar.gz";
sha256= "dcb78fb2197b49ca1b7b2f37b047bc89c0da7a90f90bd5bc17c3ce388bb6ef59";
};
meta = {
description = "Run a subprocess in a pseudo terminal";
homepage = https://github.com/pexpect/ptyprocess;
license = licenses.isc;
};
};
ptyprocess = callPackage ../development/python-modules/ptyprocess { };
pylibacl = callPackage ../development/python-modules/pylibacl { };
@ -21012,29 +21002,7 @@ EOF
pluggy = callPackage ../development/python-modules/pluggy {};
xcffib = buildPythonPackage rec {
version = "0.3.2";
name = "xcffib-${version}";
src = pkgs.fetchurl {
url = "mirror://pypi/x/xcffib/${name}.tar.gz";
sha256 = "a84eecd5a1bb7570e26c83aca87a2016578ca4e353e1fa56189e95bdef063e6a";
};
patchPhase = ''
# Hardcode cairo library path
sed -e 's,ffi\.dlopen(,&"${pkgs.xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py
'';
propagatedBuildInputs = [ self.cffi self.six ];
meta = {
description = "A drop in replacement for xpyb, an XCB python binding";
homepage = "https://github.com/tych0/xcffib";
license = licenses.asl20;
maintainers = with maintainers; [ kamilchm ];
};
};
xcffib = callPackage ../development/python-modules/xcffib {};
pafy = callPackage ../development/python-modules/pafy { };