Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
commit
b308b1e9bf
@ -12,8 +12,15 @@ can disable IPv6 support globally by setting:
|
||||
|
||||
<programlisting>
|
||||
networking.enableIPv6 = false;
|
||||
</programlisting>
|
||||
</programlisting></para>
|
||||
|
||||
<para>You can disable IPv6 on a single interface using a normal sysctl (in this
|
||||
example, we use interface <varname>eth0</varname>):
|
||||
|
||||
<programlisting>
|
||||
boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true;
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
|
||||
</section>
|
||||
|
@ -223,10 +223,10 @@ in
|
||||
# Install the proxy environment variables
|
||||
environment.sessionVariables = cfg.proxy.envVars;
|
||||
|
||||
# The ‘ip-up’ target is started when we have IP connectivity. So
|
||||
# services that depend on IP connectivity (like ntpd) should be
|
||||
# pulled in by this target.
|
||||
systemd.targets.ip-up.description = "Services Requiring IP Connectivity";
|
||||
# The ‘ip-up’ target is kept for backwards compatibility.
|
||||
# New services should use systemd upstream targets:
|
||||
# See https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
|
||||
systemd.targets.ip-up.description = "Services Requiring IP Connectivity (deprecated)";
|
||||
|
||||
# This is needed when /etc/resolv.conf is being overriden by networkd
|
||||
# and other configurations. If the file is destroyed by an environment
|
||||
|
@ -114,6 +114,7 @@
|
||||
./services/audio/mpd.nix
|
||||
./services/audio/mopidy.nix
|
||||
./services/audio/squeezelite.nix
|
||||
./services/audio/ympd.nix
|
||||
./services/backup/almir.nix
|
||||
./services/backup/bacula.nix
|
||||
./services/backup/crashplan.nix
|
||||
|
@ -33,6 +33,7 @@ in {
|
||||
services.mpd = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable MPD, the music player daemon.
|
||||
@ -40,6 +41,7 @@ in {
|
||||
};
|
||||
|
||||
musicDirectory = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.dataDir}/music";
|
||||
description = ''
|
||||
The directory where mpd reads music from.
|
||||
@ -47,6 +49,7 @@ in {
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Extra directives added to to the end of MPD's configuration file,
|
||||
@ -56,6 +59,7 @@ in {
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/mpd";
|
||||
description = ''
|
||||
The directory where MPD stores its state, tag cache,
|
||||
@ -64,11 +68,13 @@ in {
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "mpd";
|
||||
description = "User account under which MPD runs.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "mpd";
|
||||
description = "Group account under which MPD runs.";
|
||||
};
|
||||
@ -76,6 +82,7 @@ in {
|
||||
network = {
|
||||
|
||||
listenAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "any";
|
||||
description = ''
|
||||
This setting sets the address for the daemon to listen on. Careful attention
|
||||
@ -85,6 +92,7 @@ in {
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 6600;
|
||||
description = ''
|
||||
This setting is the TCP port that is desired for the daemon to get assigned
|
||||
@ -114,12 +122,12 @@ in {
|
||||
after = [ "network.target" "sound.target" ];
|
||||
description = "Music Player Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.mpd ];
|
||||
|
||||
preStart = "mkdir -p ${cfg.dataDir} && chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}";
|
||||
script = "exec mpd --no-daemon ${mpdConf}";
|
||||
serviceConfig = {
|
||||
User = "${cfg.user}";
|
||||
PermissionsStartOnly = true;
|
||||
ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}";
|
||||
};
|
||||
};
|
||||
|
||||
|
61
nixos/modules/services/audio/ympd.nix
Normal file
61
nixos/modules/services/audio/ympd.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.ympd;
|
||||
in {
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.ympd = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to enable ympd, the MPD Web GUI.";
|
||||
};
|
||||
|
||||
webPort = mkOption {
|
||||
type = types.string;
|
||||
default = "8080";
|
||||
description = "The port where ympd's web interface will be available.";
|
||||
example = "ssl://8080:/path/to/ssl-private-key.pem";
|
||||
};
|
||||
|
||||
mpd = {
|
||||
host = mkOption {
|
||||
type = types.string;
|
||||
default = "localhost";
|
||||
description = "The host where MPD is listening.";
|
||||
example = "localhost";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = config.services.mpd.network.port;
|
||||
description = "The port where MPD is listening.";
|
||||
example = 6600;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
systemd.services.ympd = {
|
||||
description = "Standalone MPD Web GUI written in C";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${cfg.webPort} --user nobody";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -61,7 +61,9 @@ with lib;
|
||||
services.avahi.enable = true;
|
||||
|
||||
systemd.services."4store-endpoint" = {
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}'
|
||||
'';
|
||||
|
@ -53,7 +53,8 @@ with lib;
|
||||
services.avahi.enable = true;
|
||||
|
||||
systemd.services."4store" = {
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p ${stateDir}/
|
||||
|
@ -62,7 +62,8 @@ with lib;
|
||||
};
|
||||
|
||||
systemd.services.virtuoso = {
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p ${stateDir}
|
||||
|
@ -74,7 +74,8 @@ in
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.freepopsd = {
|
||||
description = "Freepopsd (webmail over POP3)";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = ''
|
||||
${pkgs.freepops}/bin/freepopsd \
|
||||
-p ${toString cfg.port} \
|
||||
|
@ -182,7 +182,8 @@ in
|
||||
|
||||
systemd.services.upsmon = {
|
||||
description = "Uninterruptible Power Supplies (Monitor)";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.Type = "forking";
|
||||
script = "${pkgs.nut}/sbin/upsmon";
|
||||
environment.NUT_CONFPATH = "/etc/nut/";
|
||||
@ -191,8 +192,8 @@ in
|
||||
|
||||
systemd.services.upsd = {
|
||||
description = "Uninterruptible Power Supplies (Daemon)";
|
||||
after = [ "network.target" "upsmon.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "upsmon.service" ];
|
||||
serviceConfig.Type = "forking";
|
||||
# TODO: replace 'root' by another username.
|
||||
script = "${pkgs.nut}/sbin/upsd -u root";
|
||||
@ -202,8 +203,8 @@ in
|
||||
|
||||
systemd.services.upsdrv = {
|
||||
description = "Uninterruptible Power Supplies (Register all UPS)";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "upsd.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
# TODO: replace 'root' by another username.
|
||||
script = ''${pkgs.nut}/bin/upsdrvctl -u root start'';
|
||||
serviceConfig = {
|
||||
|
@ -53,9 +53,9 @@ let cfg = config.services.drbd; in
|
||||
};
|
||||
|
||||
systemd.services.drbd = {
|
||||
after = [ "systemd-udev.settle.service" ];
|
||||
after = [ "systemd-udev.settle.service" "network.target" ];
|
||||
wants = [ "systemd-udev.settle.service" ];
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = ''
|
||||
${pkgs.drbd}/sbin/drbdadm up all
|
||||
'';
|
||||
|
@ -59,7 +59,8 @@ in
|
||||
|
||||
systemd.services.amuled = {
|
||||
description = "AMule daemon";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.dataDir}
|
||||
|
@ -7,10 +7,6 @@ let
|
||||
|
||||
cfg = config.services.avahi;
|
||||
|
||||
# We must escape interfaces due to the systemd interpretation
|
||||
subsystemDevice = interface:
|
||||
"sys-subsystem-net-devices-${utils.escapeSystemdPath interface}.device";
|
||||
|
||||
avahiDaemonConf = with cfg; pkgs.writeText "avahi-daemon.conf" ''
|
||||
[server]
|
||||
${# Users can set `networking.hostName' to the empty string, when getting
|
||||
@ -180,14 +176,8 @@ in
|
||||
environment.systemPackages = [ pkgs.avahi ];
|
||||
|
||||
systemd.services.avahi-daemon =
|
||||
let
|
||||
deps = optionals (cfg.interfaces!=null) (map subsystemDevice cfg.interfaces);
|
||||
in
|
||||
{ description = "Avahi daemon";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
bindsTo = deps;
|
||||
after = deps;
|
||||
before = [ "ip-up.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
# Receive restart event after resume
|
||||
partOf = [ "post-resume.target" ];
|
||||
|
||||
|
@ -61,7 +61,6 @@ let
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
# Hook for emitting ip-up/ip-down events.
|
||||
exitHook = pkgs.writeText "dhcpcd.exit-hook"
|
||||
''
|
||||
if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then
|
||||
@ -73,14 +72,8 @@ let
|
||||
# applies to openntpd.
|
||||
${config.systemd.package}/bin/systemctl try-restart ntpd.service
|
||||
${config.systemd.package}/bin/systemctl try-restart openntpd.service
|
||||
|
||||
${config.systemd.package}/bin/systemctl start ip-up.target
|
||||
fi
|
||||
|
||||
#if [ "$reason" = EXPIRE -o "$reason" = RELEASE -o "$reason" = NOCARRIER ] ; then
|
||||
# ${config.systemd.package}/bin/systemctl start ip-down.target
|
||||
#fi
|
||||
|
||||
${cfg.runHook}
|
||||
'';
|
||||
|
||||
@ -154,10 +147,9 @@ in
|
||||
systemd.services.dhcpcd =
|
||||
{ description = "DHCP Client";
|
||||
|
||||
wantedBy = [ "network.target" ];
|
||||
# Work-around to deal with problems where the kernel would remove &
|
||||
# re-create Wifi interfaces early during boot.
|
||||
after = [ "network-interfaces.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network.target" ];
|
||||
before = [ "network.target" ];
|
||||
|
||||
# Stopping dhcpcd during a reconfiguration is undesirable
|
||||
# because it brings down the network interfaces configured by
|
||||
|
@ -116,7 +116,8 @@ in
|
||||
};
|
||||
|
||||
systemd.services."git-daemon" = {
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = "${pkgs.git}/bin/git daemon --reuseaddr "
|
||||
+ (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ")
|
||||
+ (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ")
|
||||
|
@ -106,7 +106,8 @@ in
|
||||
createIodineClientService = name: cfg:
|
||||
{
|
||||
description = "iodine client - ${name}";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
RestartSec = "30s";
|
||||
Restart = "always";
|
||||
@ -121,7 +122,8 @@ in
|
||||
) // {
|
||||
iodined = mkIf (cfg.server.enable) {
|
||||
description = "iodine, ip over dns server daemon";
|
||||
wantedBy = [ "ip-up.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${cfg.server.ip} ${cfg.server.domain}";
|
||||
};
|
||||
};
|
||||
|
@ -52,14 +52,6 @@ let
|
||||
});
|
||||
'';
|
||||
|
||||
ipUpScript = writeScript "01nixos-ip-up" ''
|
||||
#!/bin/sh
|
||||
if test "$2" = "up"; then
|
||||
${config.systemd.package}/bin/systemctl start ip-up.target
|
||||
${config.systemd.package}/bin/systemctl start network-online.target
|
||||
fi
|
||||
'';
|
||||
|
||||
ns = xs: writeText "nameservers" (
|
||||
concatStrings (map (s: "nameserver ${s}\n") xs)
|
||||
);
|
||||
@ -188,9 +180,6 @@ in {
|
||||
boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections.
|
||||
|
||||
environment.etc = with cfg.basePackages; [
|
||||
{ source = ipUpScript;
|
||||
target = "NetworkManager/dispatcher.d/01nixos-ip-up";
|
||||
}
|
||||
{ source = configFile;
|
||||
target = "NetworkManager/NetworkManager.conf";
|
||||
}
|
||||
|
@ -25,8 +25,8 @@ with lib;
|
||||
systemd.services.toxvpn = {
|
||||
description = "toxvpn daemon";
|
||||
|
||||
requires = [ "network-online.target" ]; # consider replacing by NetworkManager-wait-online.service
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p /run/toxvpn || true
|
||||
|
@ -677,8 +677,7 @@ in
|
||||
};
|
||||
|
||||
systemd.services.systemd-networkd-wait-online = {
|
||||
before = [ "ip-up.target" ];
|
||||
wantedBy = [ "network-online.target" "ip-up.target" ];
|
||||
wantedBy = [ "network-online.target" ];
|
||||
};
|
||||
|
||||
systemd.services."systemd-network-wait-online@" = {
|
||||
|
@ -727,8 +727,6 @@ in
|
||||
unitConfig.X-StopOnReconfiguration = true;
|
||||
};
|
||||
|
||||
systemd.targets.network-online.after = [ "ip-up.target" ];
|
||||
|
||||
systemd.units =
|
||||
mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets
|
||||
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
|
||||
|
@ -142,7 +142,6 @@ in
|
||||
# (Flushing this interface may have removed it.)
|
||||
${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service
|
||||
fi
|
||||
${config.systemd.package}/bin/systemctl start ip-up.target
|
||||
'';
|
||||
preStop = flip concatMapStrings (ips) (ip:
|
||||
let
|
||||
|
@ -178,7 +178,8 @@ in
|
||||
|
||||
systemd.services.waagent = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "ip-up.target" "sshd.service" ];
|
||||
after = [ "network-online.target" "sshd.service" ];
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
path = [ pkgs.e2fsprogs ];
|
||||
description = "Windows Azure Agent Service";
|
||||
|
@ -116,8 +116,8 @@ in
|
||||
|
||||
wantedBy = [ "multi-user.target" "sshd.service" ];
|
||||
before = [ "sshd.service" ];
|
||||
wants = [ "ip-up.target" ];
|
||||
after = [ "ip-up.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
|
||||
path = [ pkgs.wget pkgs.iproute ];
|
||||
|
||||
|
@ -134,8 +134,8 @@ in
|
||||
|
||||
wantedBy = [ "sshd.service" ];
|
||||
before = [ "sshd.service" ];
|
||||
after = [ "network-online.target" "ip-up.target" ];
|
||||
wants = [ "network-online.target" "ip-up.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
script = let wget = "${pkgs.wget}/bin/wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google'";
|
||||
mktemp = "mktemp --tmpdir=/run"; in
|
||||
|
@ -20035,12 +20035,12 @@
|
||||
f = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||
melpaBuild {
|
||||
pname = "f";
|
||||
version = "20160815.1253";
|
||||
version = "20160909.829";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rejeep";
|
||||
repo = "f.el";
|
||||
rev = "4f8d3112f03e99506bab3c910fa3a29f0b8eb86b";
|
||||
sha256 = "0gf4vh7h4sjmp74kfiwxngjpx44m88mksridfil7piapbg23z9xm";
|
||||
rev = "e055e3dd404c8a7cc7849a0e6fd8aade714c5355";
|
||||
sha256 = "1n9v2ackd86xbl0msnrvrfxp1qacydz9n0zjxm328jxlvj4h35rx";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/22ddcf536af597b688d8edb70b3636ed6c265bf5/recipes/f";
|
||||
@ -33334,6 +33334,27 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
inherit-local = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "inherit-local";
|
||||
version = "20160909.755";
|
||||
src = fetchFromGitHub {
|
||||
owner = "shlevy";
|
||||
repo = "inherit-local";
|
||||
rev = "e687c702adb27ce5f69fb28a47fe21a86cf84063";
|
||||
sha256 = "11z3b1xwg6r769w3scd29lqg62fx8mp81g8dbx4klmj3clvyn69i";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/50751b5f9843fde00505edd281e404ec1d875713/recipes/inherit-local";
|
||||
sha256 = "0j785xb72nk04x6jb9x5pdwp3dkalqmy208mvj4ss4fm559qfp3i";
|
||||
name = "inherit-local";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/inherit-local";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
init-loader = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "init-loader";
|
||||
|
@ -156,12 +156,12 @@ in
|
||||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
version = "2016.2.3";
|
||||
version = "2016.2.4";
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||
sha256 = "014fddfxzc8nwhp1nz8mb9p7zwk73azvlgmzy2jd9ypfwi3dwgrs";
|
||||
sha256 = "0hk7z402qvkaa6hkhh4wsqxki2bnai5qkd2r0ngvy8kd71svrldz";
|
||||
};
|
||||
wmClass = "jetbrains-idea-ce";
|
||||
};
|
||||
@ -173,7 +173,7 @@ in
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
|
||||
sha256 = "a2259249f6e7bf14ba17b0af90a18d24d9b4670af60d24f0bb51af2f62500fc2";
|
||||
sha256 = "1hhga1i2zbsipgq283gn19kv9n94inhr1bxh2yx19gz7yr4r49d2";
|
||||
};
|
||||
wmClass = "jetbrains-idea";
|
||||
};
|
||||
@ -192,12 +192,12 @@ in
|
||||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
version = "2016.2.3";
|
||||
version = "2016.2.4";
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
|
||||
sha256 = "1y8y3kav4icpsb85p5csag6f16jqg4gnvagsl5k1c793ccbl63yk";
|
||||
sha256 = "165nchdnbyp85r2w0riv87j77lb7r492dkwrvm8q7qjnlfgznh7r";
|
||||
};
|
||||
wmClass = "jetbrains-idea";
|
||||
};
|
||||
|
@ -29,9 +29,9 @@
|
||||
, cacaSupport ? true, libcaca ? null
|
||||
, libpngSupport ? true, libpng ? null
|
||||
, youtubeSupport ? true, youtube-dl ? null
|
||||
, vaapiSupport ? true, libva ? null
|
||||
, vapoursynthSupport ? false, vapoursynth ? null
|
||||
, jackaudioSupport ? false, libjack2 ? null
|
||||
, vaapiSupport ? false, libva ? null
|
||||
|
||||
# scripts you want to be loaded by default
|
||||
, scripts ? []
|
||||
@ -75,13 +75,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "mpv-${version}";
|
||||
version = "0.19.0";
|
||||
version = "0.20.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mpv-player";
|
||||
repo = "mpv";
|
||||
rev = "v${version}";
|
||||
sha256 = "14rbglrcplhkf16ik4fbcv7k27lz6h4glfayr12ylh98srmsscqa";
|
||||
sha256 = "0zp852b505lr2gllqylg2xrc8sgw9b1xjn1c7px36hzddny15c16";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
src = fetchgit {
|
||||
url = "https://code.videolan.org/videolan/npapi-vlc.git";
|
||||
rev = "5fa6fbc11cf5bad983f57656c0085e47e18fbf20";
|
||||
sha256 = "18fbiy4r8rlw4fsgcxgzhi6qi9r48d0rmnp8hs994w2p94fa8kwd";
|
||||
sha256 = "0k4s0657kv1mx1md8vj87scs0hz59xy7syqdsxb48w3w8gnfljs0";
|
||||
};
|
||||
|
||||
preConfigure = "sh autogen.sh";
|
||||
|
@ -161,5 +161,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
broken = stdenv.isi686;
|
||||
};
|
||||
}
|
||||
|
@ -174,5 +174,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
broken = stdenv.isi686;
|
||||
};
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ let
|
||||
# Clang expects to find sanitizer libraries in its own prefix
|
||||
postInstall = ''
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
ln -sv ${llvm}/lib/clang/3.9.0/lib $out/lib/clang/3.9.0/
|
||||
ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
'';
|
||||
|
||||
|
@ -6,7 +6,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/3.9.0/${name}-${ver}.src.tar.xz";
|
||||
url = "http://llvm.org/releases/${version}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -867,9 +867,6 @@ self: super: {
|
||||
# https://github.com/guillaume-nargeot/hpc-coveralls/issues/52
|
||||
hpc-coveralls = disableSharedExecutables super.hpc-coveralls;
|
||||
|
||||
# Can't find libHSidris-*.so during build.
|
||||
idris = disableSharedExecutables super.idris;
|
||||
|
||||
# https://github.com/fpco/stackage/issues/838
|
||||
cryptonite = dontCheck super.cryptonite;
|
||||
|
||||
@ -948,17 +945,6 @@ self: super: {
|
||||
# tinc is a new build driver a la Stack that's not yet available from Hackage.
|
||||
tinc = self.callPackage ../tools/haskell/tinc {};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/14967
|
||||
yi = markBroken super.yi;
|
||||
yi-fuzzy-open = markBroken super.yi-fuzzy-open;
|
||||
yi-monokai = markBroken super.yi-monokai;
|
||||
yi-snippet = markBroken super.yi-snippet;
|
||||
yi-solarized = markBroken super.yi-solarized;
|
||||
yi-spolsky = markBroken super.yi-spolsky;
|
||||
|
||||
# gtk2hs-buildtools must have Cabal 1.24
|
||||
gtk2hs-buildtools = super.gtk2hs-buildtools.override { Cabal = self.Cabal_1_24_0_0; };
|
||||
|
||||
# Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza
|
||||
cairo = addBuildTool super.cairo self.gtk2hs-buildtools;
|
||||
pango = (addBuildTool super.pango self.gtk2hs-buildtools).overrideDerivation (drv: {
|
||||
@ -978,7 +964,6 @@ self: super: {
|
||||
sha256 = "1yh2g45mkfpwxq0vyzcbc4nbxh6wmb2xpp0k7r5byd8jicgvli29";
|
||||
});
|
||||
|
||||
|
||||
# GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for
|
||||
# it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config
|
||||
# depend on freeglut, which provides GHC to necessary information to generate a correct RPATH.
|
||||
@ -988,7 +973,8 @@ self: super: {
|
||||
# us when we patch the cabal file (Link options will be recored in the ghc package registry).
|
||||
GLUT = addPkgconfigDepend (appendPatch super.GLUT ./patches/GLUT.patch) pkgs.freeglut;
|
||||
|
||||
# remove if a version > 0.1.0.1 ever gets released
|
||||
# https://github.com/Philonous/hs-stun/pull/1
|
||||
# Remove if a version > 0.1.0.1 ever gets released.
|
||||
stunclient = overrideCabal super.stunclient (drv: {
|
||||
postPatch = (drv.postPatch or "") + ''
|
||||
substituteInPlace source/Network/Stun/MappedAddress.hs --replace "import Network.Endian" ""
|
||||
@ -998,4 +984,19 @@ self: super: {
|
||||
# https://bitbucket.org/ssaasen/spy/pull-requests/3/fsnotify-dropped-system-filepath
|
||||
spy = appendPatch super.spy ./patches/spy.patch;
|
||||
|
||||
idris = overrideCabal super.idris (drv: {
|
||||
# "idris" binary cannot find Idris library otherwise while building. After
|
||||
# installing it's completely fine though. This seems like a bug in Idris
|
||||
# that's related to builds with shared libraries enabled. It would be great
|
||||
# if someone who knows a thing or two about Idris could look into this.
|
||||
preBuild = "export LD_LIBRARY_PATH=$PWD/dist/build:$LD_LIBRARY_PATH";
|
||||
# https://github.com/idris-lang/Idris-dev/issues/2499
|
||||
librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp];
|
||||
});
|
||||
|
||||
# https://github.com/MarcWeber/hasktags/issues/32
|
||||
hasktags = overrideCabal super.hasktags (drv: {
|
||||
postInstall = "rm $out/bin/test";
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -45,15 +45,6 @@ self: super: {
|
||||
# Build jailbreak-cabal with the latest version of Cabal.
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_24_0_0; };
|
||||
|
||||
idris = overrideCabal super.idris (drv: {
|
||||
# "idris" binary cannot find Idris library otherwise while building.
|
||||
# After installing it's completely fine though. Seems like Nix-specific
|
||||
# issue so not reported.
|
||||
preBuild = "export LD_LIBRARY_PATH=$PWD/dist/build:$LD_LIBRARY_PATH";
|
||||
# https://github.com/idris-lang/Idris-dev/issues/2499
|
||||
librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp];
|
||||
});
|
||||
|
||||
Extra = appendPatch super.Extra (pkgs.fetchpatch {
|
||||
url = "https://github.com/seereason/sr-extra/commit/29787ad4c20c962924b823d02a7335da98143603.patch";
|
||||
sha256 = "193i1xmq6z0jalwmq0mhqk1khz6zz0i1hs6lgfd7ybd6qyaqnf5f";
|
||||
|
@ -193,6 +193,9 @@ stdenv.mkDerivation ({
|
||||
fi
|
||||
if [ -d "$p/lib" ]; then
|
||||
configureFlags+=" --extra-lib-dirs=$p/lib"
|
||||
${ stdenv.lib.optionalString stdenv.isDarwin
|
||||
"export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib"
|
||||
}
|
||||
fi
|
||||
done
|
||||
${ghcCommand}-pkg --${packageDbFlag}="$packageConfDir" recache
|
||||
|
@ -29,7 +29,10 @@ stdenv.mkDerivation (args // {
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
configurePhase = args.configurePhase or "stack setup";
|
||||
configurePhase = args.configurePhase or ''
|
||||
export STACK_ROOT=$NIX_BUILD_TOP/.stack
|
||||
stack setup
|
||||
'';
|
||||
|
||||
buildPhase = args.buildPhase or "stack build";
|
||||
|
||||
|
@ -60,6 +60,7 @@ stdenv.mkDerivation {
|
||||
|
||||
prePatch = optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
|
||||
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -57,6 +57,7 @@ stdenv.mkDerivation {
|
||||
|
||||
prePatch = optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
|
||||
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -61,6 +61,7 @@ stdenv.mkDerivation {
|
||||
|
||||
prePatch = optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
|
||||
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -1,14 +0,0 @@
|
||||
{stdenv, fetchurl, jdk, sharedobjects, jjtraveler}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aterm-java-1.6";
|
||||
src = fetchurl {
|
||||
url = http://www.cwi.nl/projects/MetaEnv/aterm-java/aterm-java-1.6.tar.gz;
|
||||
md5 = "abf475dae2f5efca865fcdff871feb5e";
|
||||
};
|
||||
buildInputs = [stdenv jdk sharedobjects jjtraveler];
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
|
||||
glpkWithExtras = lib.overrideDerivation glpk (attrs: {
|
||||
propagatedNativeBuildInputs = [ gmp libtool libmysql libiodbc ];
|
||||
|
||||
CPPFLAGS = "-I${gmp.dev}/include";
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace configure \
|
||||
--replace /usr/include/mysql ${lib.getDev libmysql}/include/mysql
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, fetchurl, mkPythonDerivation, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo }:
|
||||
{ stdenv, fetchurl, mkPythonDerivation, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo, which, ncurses}:
|
||||
|
||||
mkPythonDerivation rec {
|
||||
major = "3.20";
|
||||
@ -10,12 +10,13 @@ mkPythonDerivation rec {
|
||||
sha256 = "0ikzh3l7g1gjh8jj8vg6mdvrb25svp63gxcam4m0i404yh0lgari";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig glib gobjectIntrospection ];
|
||||
buildInputs = [ pkgconfig glib gobjectIntrospection ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ which ncurses ];
|
||||
propagatedBuildInputs = [ pycairo cairo ];
|
||||
|
||||
meta = {
|
||||
homepage = http://live.gnome.org/PyGObject;
|
||||
description = "Python bindings for Glib";
|
||||
platforms = lib.platforms.unix;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }:
|
||||
{ stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }:
|
||||
|
||||
let
|
||||
version = "4.11.3";
|
||||
@ -17,9 +17,15 @@ in mkPythonDerivation {
|
||||
rm -rf "$out/nix-support"
|
||||
|
||||
export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
|
||||
${stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
export QMAKESPEC="unsupported/macx-clang-libc++" # OS X target after bootstrapping phase \
|
||||
''}
|
||||
|
||||
substituteInPlace configure.py \
|
||||
--replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
|
||||
--replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
|
||||
${stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
--replace "qt_macx_spec = 'macx-g++'" "qt_macx_spec = 'unsupported/macx-clang-libc++'" # for bootstrapping phase \
|
||||
''}
|
||||
|
||||
configureFlagsArray=( \
|
||||
--confirm-license --bindir $out/bin \
|
||||
@ -50,7 +56,7 @@ in mkPythonDerivation {
|
||||
description = "Python bindings for Qt";
|
||||
license = "GPL";
|
||||
homepage = http://www.riverbankcomputing.co.uk;
|
||||
maintainers = [ lib.maintainers.sander ];
|
||||
platforms = lib.platforms.mesaPlatforms;
|
||||
maintainers = [ stdenv.lib.maintainers.sander ];
|
||||
platforms = stdenv.lib.platforms.mesaPlatforms;
|
||||
};
|
||||
}
|
||||
|
@ -279,7 +279,7 @@ let
|
||||
mwaved = [ pkgs.fftw ];
|
||||
ncdf4 = [ pkgs.netcdf ];
|
||||
nloptr = [ pkgs.nlopt ];
|
||||
openssl = [ pkgs.openssl.dev8 ];
|
||||
openssl = [ pkgs.openssl.dev ];
|
||||
outbreaker = [ pkgs.gsl_1 ];
|
||||
pander = [ pkgs.pandoc pkgs.which ];
|
||||
pbdMPI = [ pkgs.openmpi ];
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
|
||||
|
||||
import ./generic.nix (args // rec {
|
||||
version = "4.7.2";
|
||||
version = "4.7.3";
|
||||
extraMeta.branch = "4.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1234z4wzvrbyzql6cc8i4bq7bbbjgaxhys4fcnqzm14lavk3wjaq";
|
||||
sha256 = "16rr5nj78jh1l46baa0qgzbw44slyqw5ivfn1y7dcxrgb17bvrqc";
|
||||
};
|
||||
|
||||
kernelPatches = args.kernelPatches;
|
||||
|
@ -100,9 +100,9 @@ rec {
|
||||
grsecurity_4_4 = throw "grsecurity stable is no longer supported";
|
||||
|
||||
grsecurity_testing = grsecPatch
|
||||
{ kver = "4.7.2";
|
||||
grrev = "201608312326";
|
||||
sha256 = "0nbp3lnl6gi6kklpc8wnjpz5cj9zafaw2445lan15qnyzf5zb966";
|
||||
{ kver = "4.7.3";
|
||||
grrev = "201609072139";
|
||||
sha256 = "0c70nfsa1bk07z6sivy645d9w0qkq23pwpwdm28160kfy7dampyh";
|
||||
};
|
||||
|
||||
# This patch relaxes grsec constraints on the location of usermode helpers,
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pktgen-${version}";
|
||||
version = "3.0.04";
|
||||
version = "3.0.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.gz";
|
||||
sha256 = "0vrmbpl8zaal5zjwyzlx0y3d6jydfxdmf0psdj7ic37h5yh2iv2q";
|
||||
sha256 = "64629b454ed8dc036d5e9bb30b3ae84a0bab0142b651c72da85ab1454e9ae0d6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ];
|
||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
for f in $out/lib/*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do
|
||||
for f in "$out/lib/"*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do
|
||||
sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f
|
||||
done
|
||||
'';
|
||||
|
@ -4443,7 +4443,15 @@ in
|
||||
coq = coq_8_5;
|
||||
});
|
||||
|
||||
cryptol = haskellPackages.cryptol;
|
||||
# Users installing via `nix-env` will likely be using the REPL,
|
||||
# which has a hard dependency on Z3, so make sure it is available.
|
||||
cryptol = haskellPackages.cryptol.overrideDerivation (oldAttrs: {
|
||||
buildInputs = (oldAttrs.buildInputs or []) ++ [ makeWrapper ];
|
||||
installPhase = (oldAttrs.installPhase or "") + ''
|
||||
wrapProgram $out/bin/cryptol \
|
||||
--prefix 'PATH' ':' "${lib.getBin z3}/bin"
|
||||
'';
|
||||
});
|
||||
|
||||
devpi-client = callPackage ../development/tools/devpi-client {};
|
||||
|
||||
@ -9966,10 +9974,6 @@ in
|
||||
|
||||
### DEVELOPMENT / LIBRARIES / JAVA
|
||||
|
||||
atermjava = callPackage ../development/libraries/java/aterm {
|
||||
stdenv = overrideInStdenv stdenv [gnumake380];
|
||||
};
|
||||
|
||||
commonsBcel = callPackage ../development/libraries/java/commons/bcel { };
|
||||
|
||||
commonsBsf = callPackage ../development/libraries/java/commons/bsf { };
|
||||
|
@ -686,23 +686,6 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
f = melpaBuild rec {
|
||||
pname = "f";
|
||||
version = "20151113";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rejeep";
|
||||
repo = "f.el";
|
||||
rev = "e0259ee060ff9a3f12204adcc8630869080acd68";
|
||||
sha256 = "0lzqfr5xgc3qvpbs6vf63yiw7pc2mybfvsrhczf9ghlmlawqa6k1";
|
||||
};
|
||||
fileSpecs = [ "f.el" ];
|
||||
packageRequires = [ dash s ];
|
||||
meta = {
|
||||
description = "Emacs library for working with files and directories";
|
||||
license = gpl3Plus;
|
||||
};
|
||||
};
|
||||
|
||||
find-file-in-project = melpaBuild rec {
|
||||
pname = "find-file-in-project";
|
||||
version = "3.5";
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ supportedSystems
|
||||
, packageSet ? (import ../..)
|
||||
, allowTexliveBuilds ? false
|
||||
, scrubJobs ? true
|
||||
}:
|
||||
|
||||
@ -11,7 +10,6 @@ rec {
|
||||
# Ensure that we don't build packages marked as unfree.
|
||||
allPackages = args: packageSet (args // {
|
||||
config.allowUnfree = false;
|
||||
config.allowTexliveBuilds = allowTexliveBuilds;
|
||||
config.inHydra = true;
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user