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

This commit is contained in:
Frederik Rietdijk 2017-06-05 12:46:08 +02:00
commit 7578940392
112 changed files with 2771 additions and 837 deletions

View File

@ -26,6 +26,4 @@ env:
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f - GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
notifications: notifications:
email: email: false
on_success: never
on_failure: change

View File

@ -178,6 +178,7 @@
exlevan = "Alexey Levan <exlevan@gmail.com>"; exlevan = "Alexey Levan <exlevan@gmail.com>";
expipiplus1 = "Joe Hermaszewski <nix@monoid.al>"; expipiplus1 = "Joe Hermaszewski <nix@monoid.al>";
fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>"; fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>";
fare = "Francois-Rene Rideau <fahree@gmail.com>";
falsifian = "James Cook <james.cook@utoronto.ca>"; falsifian = "James Cook <james.cook@utoronto.ca>";
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>"; flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
fluffynukeit = "Daniel Austin <dan@fluffynukeit.com>"; fluffynukeit = "Daniel Austin <dan@fluffynukeit.com>";

View File

@ -17,6 +17,11 @@ rec {
drv // { meta = (drv.meta or {}) // newAttrs; }; drv // { meta = (drv.meta or {}) // newAttrs; };
/* Disable Hydra builds of given derivation.
*/
dontDistribute = drv: addMetaAttrs { hydraPlatforms = []; } drv;
/* Change the symbolic name of a package for presentation purposes /* Change the symbolic name of a package for presentation purposes
(i.e., so that nix-env users can tell them apart). (i.e., so that nix-env users can tell them apart).
*/ */

View File

@ -12,12 +12,12 @@ your <filename>configuration.nix</filename> to configure the system that
would be installed on the CD.</para> would be installed on the CD.</para>
<para>Default CD/DVD configurations are available <para>Default CD/DVD configurations are available
inside <filename>nixos/modules/installer/cd-dvd</filename>. To build them inside <filename>nixos/modules/installer/cd-dvd</filename>.
you have to set <envar>NIXOS_CONFIG</envar> before
running <command>nix-build</command> to build the ISO.
<screen> <screen>
$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix</screen> $ git clone https://github.com/NixOS/nixpkgs.git
$ cd nixpkgs/nixos
$ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix</screen>
</para> </para>

View File

@ -294,6 +294,7 @@
jackett = 276; jackett = 276;
aria2 = 277; aria2 = 277;
clickhouse = 278; clickhouse = 278;
rslsync = 279;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -557,6 +558,7 @@
jackett = 276; jackett = 276;
aria2 = 277; aria2 = 277;
clickhouse = 278; clickhouse = 278;
rslsync = 279;
# When adding a gid, make sure it doesn't match an existing # When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal # uid. Users and groups with the same name should have equal

View File

@ -485,6 +485,7 @@
./services/networking/radvd.nix ./services/networking/radvd.nix
./services/networking/rdnssd.nix ./services/networking/rdnssd.nix
./services/networking/redsocks.nix ./services/networking/redsocks.nix
./services/networking/resilio.nix
./services/networking/rpcbind.nix ./services/networking/rpcbind.nix
./services/networking/sabnzbd.nix ./services/networking/sabnzbd.nix
./services/networking/searx.nix ./services/networking/searx.nix

View File

@ -8,13 +8,7 @@ in
{ {
options = { options = {
programs.zsh.syntaxHighlighting = { programs.zsh.syntaxHighlighting = {
enable = mkOption { enable = mkEnableOption "zsh-syntax-highlighting";
default = false;
type = types.bool;
description = ''
Enable zsh-syntax-highlighting.
'';
};
highlighters = mkOption { highlighters = mkOption {
default = [ "main" ]; default = [ "main" ];
@ -38,13 +32,13 @@ in
}; };
patterns = mkOption { patterns = mkOption {
default = []; default = {};
type = types.listOf(types.listOf(types.string)); type = types.attrsOf types.string;
example = literalExample '' example = literalExample ''
[ {
["rm -rf *" "fg=white,bold,bg=red"] "rm -rf *" = "fg=white,bold,bg=red";
] }
''; '';
description = '' description = ''
@ -67,14 +61,17 @@ in
"ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})" "ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
} }
${optionalString (length(cfg.patterns) > 0) ${let
n = attrNames cfg.patterns;
in
optionalString (length(n) > 0)
(assert(elem "pattern" cfg.highlighters); (foldl ( (assert(elem "pattern" cfg.highlighters); (foldl (
a: b: a: b:
assert(length(b) == 2); ''
${a}
ZSH_HIGHLIGHT_PATTERNS+=('${elemAt b 0}' '${elemAt b 1}')
'' ''
) "") cfg.patterns) ${a}
ZSH_HIGHLIGHT_PATTERNS+=('${b}' '${attrByPath [b] "" cfg.patterns}')
''
) "") n)
} }
''; '';
}; };

View File

@ -0,0 +1,8 @@
# Generated using update-dd-agent-default, please re-run after updating dd-agent. DO NOT EDIT MANUALLY.
[
"auto_conf"
"agent_metrics.yaml.default"
"disk.yaml.default"
"network.yaml.default"
"ntp.yaml.default"
]

View File

@ -16,24 +16,100 @@ let
forwarder_log_file: /var/log/datadog/forwarder.log forwarder_log_file: /var/log/datadog/forwarder.log
dogstatsd_log_file: /var/log/datadog/dogstatsd.log dogstatsd_log_file: /var/log/datadog/dogstatsd.log
pup_log_file: /var/log/datadog/pup.log pup_log_file: /var/log/datadog/pup.log
# proxy_host: my-proxy.com
# proxy_port: 3128
# proxy_user: user
# proxy_password: password
# tags: mytag0, mytag1
${optionalString (cfg.tags != null ) "tags: ${concatStringsSep "," cfg.tags }"} ${optionalString (cfg.tags != null ) "tags: ${concatStringsSep "," cfg.tags }"}
${cfg.extraDdConfig}
# collect_ec2_tags: no
# recent_point_threshold: 30
# use_mount: no
# listen_port: 17123
# graphite_listen_port: 17124
# non_local_traffic: no
# use_curl_http_client: False
# bind_host: localhost
# use_pup: no
# pup_port: 17125
# pup_interface: localhost
# pup_url: http://localhost:17125
# dogstatsd_port : 8125
# dogstatsd_interval : 10
# dogstatsd_normalize : yes
# statsd_forward_host: address_of_own_statsd_server
# statsd_forward_port: 8125
# device_blacklist_re: .*\/dev\/mapper\/lxc-box.*
# ganglia_host: localhost
# ganglia_port: 8651
''; '';
diskConfig = pkgs.writeText "disk.yaml" ''
init_config:
instances:
- use_mount: no
'';
networkConfig = pkgs.writeText "network.yaml" ''
init_config:
instances:
# Network check only supports one configured instance
- collect_connection_state: false
excluded_interfaces:
- lo
- lo0
'';
postgresqlConfig = pkgs.writeText "postgres.yaml" cfg.postgresqlConfig;
nginxConfig = pkgs.writeText "nginx.yaml" cfg.nginxConfig;
mongoConfig = pkgs.writeText "mongo.yaml" cfg.mongoConfig;
jmxConfig = pkgs.writeText "jmx.yaml" cfg.jmxConfig;
processConfig = pkgs.writeText "process.yaml" cfg.processConfig;
etcfiles = etcfiles =
map (i: { source = if builtins.hasAttr "config" i let
then pkgs.writeText "${i.name}.yaml" i.config defaultConfd = import ./dd-agent-defaults.nix;
else "${pkgs.dd-agent}/agent/conf.d-system/${i.name}.yaml"; in (map (f: { source = "${pkgs.dd-agent}/agent/conf.d-system/${f}";
target = "dd-agent/conf.d/${i.name}.yaml"; target = "dd-agent/conf.d/${f}";
} }) defaultConfd) ++ [
) cfg.integrations ++ { source = ddConf;
[ { source = ddConf;
target = "dd-agent/datadog.conf"; target = "dd-agent/datadog.conf";
} }
]; { source = diskConfig;
target = "dd-agent/conf.d/disk.yaml";
# restart triggers }
etcSources = map (i: i.source) etcfiles; { source = networkConfig;
target = "dd-agent/conf.d/network.yaml";
} ] ++
(optional (cfg.postgresqlConfig != null)
{ source = postgresqlConfig;
target = "dd-agent/conf.d/postgres.yaml";
}) ++
(optional (cfg.nginxConfig != null)
{ source = nginxConfig;
target = "dd-agent/conf.d/nginx.yaml";
}) ++
(optional (cfg.mongoConfig != null)
{ source = mongoConfig;
target = "dd-agent/conf.d/mongo.yaml";
}) ++
(optional (cfg.processConfig != null)
{ source = processConfig;
target = "dd-agent/conf.d/process.yaml";
}) ++
(optional (cfg.jmxConfig != null)
{ source = jmxConfig;
target = "dd-agent/conf.d/jmx.yaml";
});
in { in {
options.services.dd-agent = { options.services.dd-agent = {
@ -63,46 +139,44 @@ in {
type = types.uniq (types.nullOr types.string); type = types.uniq (types.nullOr types.string);
}; };
agent = mkOption { postgresqlConfig = mkOption {
description = "The dd-agent package to use. Useful when overriding the package."; description = "Datadog PostgreSQL integration configuration";
default = pkgs.dd-agent; default = null;
type = types.package; type = types.uniq (types.nullOr types.string);
}; };
integrations = mkOption { nginxConfig = mkOption {
description = "Datadog nginx integration configuration";
default = null;
type = types.uniq (types.nullOr types.string);
};
mongoConfig = mkOption {
description = "MongoDB integration configuration";
default = null;
type = types.uniq (types.nullOr types.string);
};
jmxConfig = mkOption {
description = "JMX integration configuration";
default = null;
type = types.uniq (types.nullOr types.string);
};
processConfig = mkOption {
description = '' description = ''
Any integrations to use. Default config used if none Process integration configuration
specified. It is currently up to the user to make sure that
the dd-agent package used has all the dependencies chosen
integrations require in scope.
'';
type = types.listOf (types.attrsOf types.string);
default = [];
example = ''
[ { name = "elastic";
config = '''
init_config:
instances: See http://docs.datadoghq.com/integrations/process/
- url: http://localhost:9200
''';
}
{ name = "nginx"; }
{ name = "ntp"; }
{ name = "network"; }
]
''; '';
default = null;
type = types.uniq (types.nullOr types.string);
}; };
extraDdConfig = mkOption {
description = "Extra settings to append to datadog agent config.";
default = "";
type = types.string;
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ cfg.agent pkgs.sysstat pkgs.procps ]; environment.systemPackages = [ pkgs."dd-agent" pkgs.sysstat pkgs.procps ];
users.extraUsers.datadog = { users.extraUsers.datadog = {
description = "Datadog Agent User"; description = "Datadog Agent User";
@ -116,7 +190,7 @@ in {
systemd.services.dd-agent = { systemd.services.dd-agent = {
description = "Datadog agent monitor"; description = "Datadog agent monitor";
path = [ cfg.agent pkgs.python pkgs.sysstat pkgs.procps ]; path = [ pkgs."dd-agent" pkgs.python pkgs.sysstat pkgs.procps ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.dd-agent}/bin/dd-agent foreground"; ExecStart = "${pkgs.dd-agent}/bin/dd-agent foreground";
@ -125,12 +199,28 @@ in {
Restart = "always"; Restart = "always";
RestartSec = 2; RestartSec = 2;
}; };
restartTriggers = [ pkgs.dd-agent ddConf ] ++ etcSources; restartTriggers = [ pkgs.dd-agent ddConf diskConfig networkConfig postgresqlConfig nginxConfig mongoConfig jmxConfig processConfig ];
}; };
systemd.services.dd-jmxfetch = lib.mkIf (builtins.any (i: i.name == "jmx") cfg.integrations) { systemd.services.dogstatsd = {
description = "Datadog statsd";
path = [ pkgs."dd-agent" pkgs.python pkgs.procps ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.dd-agent}/bin/dogstatsd start";
User = "datadog";
Group = "datadog";
Type = "forking";
PIDFile = "/tmp/dogstatsd.pid";
Restart = "always";
RestartSec = 2;
};
restartTriggers = [ pkgs.dd-agent ddConf diskConfig networkConfig postgresqlConfig nginxConfig mongoConfig jmxConfig processConfig ];
};
systemd.services.dd-jmxfetch = lib.mkIf (cfg.jmxConfig != null) {
description = "Datadog JMX Fetcher"; description = "Datadog JMX Fetcher";
path = [ cfg.agent pkgs.python pkgs.sysstat pkgs.procps pkgs.jdk ]; path = [ pkgs."dd-agent" pkgs.python pkgs.sysstat pkgs.procps pkgs.jdk ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.dd-agent}/bin/dd-jmxfetch"; ExecStart = "${pkgs.dd-agent}/bin/dd-jmxfetch";
@ -139,7 +229,7 @@ in {
Restart = "always"; Restart = "always";
RestartSec = 2; RestartSec = 2;
}; };
restartTriggers = [ cfg.agent ddConf ] ++ etcSources; restartTriggers = [ pkgs.dd-agent ddConf diskConfig networkConfig postgresqlConfig nginxConfig mongoConfig jmxConfig ];
}; };
environment.etc = etcfiles; environment.etc = etcfiles;

View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
dd=$(nix-build --no-out-link -A dd-agent ../../../..)
echo '# Generated using update-dd-agent-default, please re-run after updating dd-agent. DO NOT EDIT MANUALLY.' > dd-agent-defaults.nix
echo '[' >> dd-agent-defaults.nix
echo ' "auto_conf"' >> dd-agent-defaults.nix
for f in $(find $dd/agent/conf.d-system -maxdepth 1 -type f | grep -v '\.example' | sort); do
echo " \"$(basename $f)\"" >> dd-agent-defaults.nix
done
echo ']' >> dd-agent-defaults.nix

View File

@ -17,7 +17,7 @@ let
host = ${cfg.dns.address} host = ${cfg.dns.address}
port = ${toString cfg.dns.port} port = ${toString cfg.dns.port}
oldDNSMethod = NO_OLD_DNS oldDNSMethod = NO_OLD_DNS
externalIP = ${cfg.dns.address} externalIP = ${cfg.dns.externalAddress}
[http] [http]
host = ${cfg.api.hostname} host = ${cfg.api.hostname}
@ -47,8 +47,18 @@ in
type = types.str; type = types.str;
default = "127.0.0.1"; default = "127.0.0.1";
description = '' description = ''
The IP address that will be used to reach this machine. The IP address the DNSChain resolver will bind to.
Leave this unchanged if you do not wish to directly expose the DNSChain resolver. Leave this unchanged if you do not wish to directly expose the resolver.
'';
};
dns.externalAddress = mkOption {
type = types.str;
default = cfg.dns.address;
description = ''
The IP address used by clients to reach the resolver and the value of
the <literal>namecoin.dns</literal> record. Set this in case the bind address
is not the actual IP address (e.g. the machine is behind a NAT).
''; '';
}; };

View File

@ -12,6 +12,7 @@ let
configFile = writeText "NetworkManager.conf" '' configFile = writeText "NetworkManager.conf" ''
[main] [main]
plugins=keyfile plugins=keyfile
dhcp=${cfg.dhcp}
dns=${if cfg.useDnsmasq then "dnsmasq" else "default"} dns=${if cfg.useDnsmasq then "dnsmasq" else "default"}
[keyfile] [keyfile]
@ -21,7 +22,7 @@ let
''unmanaged-devices=${lib.concatStringsSep ";" cfg.unmanaged}''} ''unmanaged-devices=${lib.concatStringsSep ";" cfg.unmanaged}''}
[logging] [logging]
level=WARN level=${cfg.logLevel}
[connection] [connection]
ipv6.ip6-privacy=2 ipv6.ip6-privacy=2
@ -138,6 +139,22 @@ in {
apply = list: (attrValues cfg.basePackages) ++ list; apply = list: (attrValues cfg.basePackages) ++ list;
}; };
dhcp = mkOption {
type = types.enum [ "dhclient" "dhcpcd" "internal" ];
default = "dhclient";
description = ''
Which program (or internal library) should be used for DHCP.
'';
};
logLevel = mkOption {
type = types.enum [ "OFF" "ERR" "WARN" "INFO" "DEBUG" "TRACE" ];
default = "WARN";
description = ''
Set the default logging verbosity level.
'';
};
appendNameservers = mkOption { appendNameservers = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];

View File

@ -0,0 +1,268 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.resilio;
resilioSync = pkgs.resilio-sync;
sharedFoldersRecord = map (entry: {
secret = entry.secret;
dir = entry.directory;
use_relay_server = entry.useRelayServer;
use_tracker = entry.useTracker;
use_dht = entry.useDHT;
search_lan = entry.searchLAN;
use_sync_trash = entry.useSyncTrash;
known_hosts = knownHosts;
}) cfg.sharedFolders;
configFile = pkgs.writeText "config.json" (builtins.toJSON ({
device_name = cfg.deviceName;
storage_path = cfg.storagePath;
listening_port = cfg.listeningPort;
use_gui = false;
check_for_updates = cfg.checkForUpdates;
use_upnp = cfg.useUpnp;
download_limit = cfg.downloadLimit;
upload_limit = cfg.uploadLimit;
lan_encrypt_data = cfg.encryptLAN;
} // optionalAttrs cfg.enableWebUI {
webui = { listen = "${cfg.httpListenAddr}:${toString cfg.httpListenPort}"; } //
(optionalAttrs (cfg.httpLogin != "") { login = cfg.httpLogin; }) //
(optionalAttrs (cfg.httpPass != "") { password = cfg.httpPass; }) //
(optionalAttrs (cfg.apiKey != "") { api_key = cfg.apiKey; }) //
(optionalAttrs (cfg.directoryRoot != "") { directory_root = cfg.directoryRoot; });
} // optionalAttrs (sharedFoldersRecord != []) {
shared_folders = sharedFoldersRecord;
}));
in
{
options = {
services.resilio = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
If enabled, start the Resilio Sync daemon. Once enabled, you can
interact with the service through the Web UI, or configure it in your
NixOS configuration. Enabling the <literal>resilio</literal> service
also installs a systemd user unit which can be used to start
user-specific copies of the daemon. Once installed, you can use
<literal>systemctl --user start resilio</literal> as your user to start
the daemon using the configuration file located at
<literal>$HOME/.config/resilio-sync/config.json</literal>.
'';
};
deviceName = mkOption {
type = types.str;
example = "Voltron";
default = config.networking.hostName;
description = ''
Name of the Resilio Sync device.
'';
};
listeningPort = mkOption {
type = types.int;
default = 0;
example = 44444;
description = ''
Listening port. Defaults to 0 which randomizes the port.
'';
};
checkForUpdates = mkOption {
type = types.bool;
default = true;
description = ''
Determines whether to check for updates and alert the user
about them in the UI.
'';
};
useUpnp = mkOption {
type = types.bool;
default = true;
description = ''
Use Universal Plug-n-Play (UPnP)
'';
};
downloadLimit = mkOption {
type = types.int;
default = 0;
example = 1024;
description = ''
Download speed limit. 0 is unlimited (default).
'';
};
uploadLimit = mkOption {
type = types.int;
default = 0;
example = 1024;
description = ''
Upload speed limit. 0 is unlimited (default).
'';
};
httpListenAddr = mkOption {
type = types.str;
default = "0.0.0.0";
example = "1.2.3.4";
description = ''
HTTP address to bind to.
'';
};
httpListenPort = mkOption {
type = types.int;
default = 9000;
description = ''
HTTP port to bind on.
'';
};
httpLogin = mkOption {
type = types.str;
example = "allyourbase";
default = "";
description = ''
HTTP web login username.
'';
};
httpPass = mkOption {
type = types.str;
example = "arebelongtous";
default = "";
description = ''
HTTP web login password.
'';
};
encryptLAN = mkOption {
type = types.bool;
default = true;
description = "Encrypt LAN data.";
};
enableWebUI = mkOption {
type = types.bool;
default = false;
description = ''
Enable Web UI for administration. Bound to the specified
<literal>httpListenAddress</literal> and
<literal>httpListenPort</literal>.
'';
};
storagePath = mkOption {
type = types.path;
default = "/var/lib/resilio-sync/";
description = ''
Where BitTorrent Sync will store it's database files (containing
things like username info and licenses). Generally, you should not
need to ever change this.
'';
};
apiKey = mkOption {
type = types.str;
default = "";
description = "API key, which enables the developer API.";
};
directoryRoot = mkOption {
type = types.str;
default = "";
example = "/media";
description = "Default directory to add folders in the web UI.";
};
sharedFolders = mkOption {
default = [];
example =
[ { secret = "AHMYFPCQAHBM7LQPFXQ7WV6Y42IGUXJ5Y";
directory = "/home/user/sync_test";
useRelayServer = true;
useTracker = true;
useDHT = false;
searchLAN = true;
useSyncTrash = true;
knownHosts = [
"192.168.1.2:4444"
"192.168.1.3:4444"
];
}
];
description = ''
Shared folder list. If enabled, web UI must be
disabled. Secrets can be generated using <literal>rslsync
--generate-secret</literal>. Note that this secret will be
put inside the Nix store, so it is realistically not very
secret.
If you would like to be able to modify the contents of this
directories, it is recommended that you make your user a
member of the <literal>resilio</literal> group.
Directories in this list should be in the
<literal>resilio</literal> group, and that group must have
write access to the directory. It is also recommended that
<literal>chmod g+s</literal> is applied to the directory
so that any sub directories created will also belong to
the <literal>resilio</literal> group. Also,
<literal>setfacl -d -m group:resilio:rwx</literal> and
<literal>setfacl -m group:resilio:rwx</literal> should also
be applied so that the sub directories are writable by
the group.
'';
};
};
};
config = mkIf cfg.enable {
assertions =
[ { assertion = cfg.deviceName != "";
message = "Device name cannot be empty.";
}
{ assertion = cfg.enableWebUI -> cfg.sharedFolders == [];
message = "If using shared folders, the web UI cannot be enabled.";
}
{ assertion = cfg.apiKey != "" -> cfg.enableWebUI;
message = "If you're using an API key, you must enable the web server.";
}
];
users.extraUsers.rslsync = {
description = "Resilio Sync Service user";
home = cfg.storagePath;
createHome = true;
uid = config.ids.uids.rslsync;
group = "rslsync";
};
users.extraGroups = [ { name = "rslsync"; } ];
systemd.services.resilio = with pkgs; {
description = "Resilio Sync Service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "local-fs.target" ];
serviceConfig = {
Restart = "on-abort";
UMask = "0002";
User = "rslsync";
ExecStart = ''
${resilioSync}/bin/rslsync --nodaemon --config ${configFile}
'';
};
};
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, cmake, fetchFromGitHub, file, gcc_multi, libX11, makeWrapper { stdenv, cmake, fetchFromGitHub, file, gcc_multi, libX11, makeWrapper
, overrideCC, qt5, requireFile, unzip, wineStable , overrideCC, qt5, requireFile, unzip, wine
}: }:
let let
@ -26,7 +26,8 @@ let
installPhase = "cp -r . $out"; installPhase = "cp -r . $out";
}; };
wine-wow64 = wineStable.override { wine-wow64 = wine.override {
wineRelease = "stable";
wineBuild = "wineWow"; wineBuild = "wineWow";
}; };

View File

@ -1,20 +1,20 @@
{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost { stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext
, alsaLib ? null , alsaLib ? null
, libpulseaudio ? null , libpulseaudio ? null
, tcltk ? null , libjack2 ? null
, liblo ? null , liblo ? null
, ladspa-sdk ? null
# maybe csound can be compiled with support for those, see configure output , fluidsynth ? null
# , ladspa ? null # , gmm ? null # opcodes don't build with gmm 5.1
# , fluidsynth ? null , eigen ? null
# , jack ? null , curl ? null
# , gmm ? null , tcltk ? null
# , wiiuse ? null , fltk ? null
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "csound-6.08.1"; name = "csound-${version}";
version = "6.08.1"; version = "6.09.0";
enableParallelBuilding = true; enableParallelBuilding = true;
@ -24,11 +24,18 @@ stdenv.mkDerivation rec {
owner = "csound"; owner = "csound";
repo = "csound"; repo = "csound";
rev = version; rev = version;
sha256 = "03xnva17sw35ga3n96x1zdfgw913dga1hccly85wzfn0kxz4rld9"; sha256 = "1vfb0mab89psfwidadjrn5mbzq3bhjbyrrmyp98yp0xm6a8cssih";
}; };
nativeBuildInputs = [ cmake flex bison ]; cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost liblo ]; ++ stdenv.lib.optional (libjack2 != null) "-DJACK_HEADER=${libjack2}/include/jack/jack.h";
nativeBuildInputs = [ cmake flex bison gettext ];
buildInputs = [ libsndfile libsamplerate boost ]
++ builtins.filter (optional: optional != null) [
alsaLib libpulseaudio libjack2
liblo ladspa-sdk fluidsynth eigen
curl tcltk fltk ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms"; description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";

View File

@ -2,7 +2,7 @@
makeWrapper, libXScrnSaver, libxkbfile }: makeWrapper, libXScrnSaver, libxkbfile }:
let let
version = "1.12.1"; version = "1.12.2";
channel = "stable"; channel = "stable";
plat = { plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system}; }.${stdenv.system};
sha256 = { sha256 = {
"i686-linux" = "0i4zqxbq7bm2afzyny3a53sq1fghlz5an1z8fkqh5i3029s635h9"; "i686-linux" = "0221s8vx32haqr31wkkm637gya3vljbkim59i7a2hhwxh2gcs2fk";
"x86_64-linux" = "0kwmfiyb70if4svamnivbc9w65c14j3lrn5vysqkc4b8hlk4r75i"; "x86_64-linux" = "0p6ck2lc9lln96lib5r5yfbrd04rgsbzhvf1lx2kykn428ddxi9s";
"x86_64-darwin" = "1dgs4k4m885qzammhj0x9k6pd8rayxn61iq3fiazp0w8v5bhl4l5"; "x86_64-darwin" = "1s7hyr245v4z2g357m7ajnh8y1cqixricpkx329xls4292qb7rh4";
}.${stdenv.system}; }.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";

View File

@ -8,7 +8,7 @@ let
inherit (python2Packages) pygtk wrapPython python; inherit (python2Packages) pygtk wrapPython python;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gimp-${version}"; name = "gimp-${version}";
version = "2.8.20"; version = "2.8.22";
# This declarations for `gimp-with-plugins` wrapper, # This declarations for `gimp-with-plugins` wrapper,
# (used for determining $out/lib/gimp/${majorVersion}/ paths) # (used for determining $out/lib/gimp/${majorVersion}/ paths)
@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
sha256 = "939ca1df70be865c672ffd654f4e20f188121d01601c5c90237214101533c805"; sha256 = "12k3lp938qdc9cqj29scg55f3bb8iav2fysd29w0s49bqmfa71wi";
}; };
buildInputs = buildInputs =

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "albert-${version}"; name = "albert-${version}";
version = "0.11.1"; version = "0.11.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "albertlauncher"; owner = "albertlauncher";
repo = "albert"; repo = "albert";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ai0h3lbdac0a4xzd6pm3i0r8w0gfdnw9rdkj0szyzvm428f88s6"; sha256 = "0ddz6h1334b9kqy1lfi7qa21znm3l0b9h0d4s62llxdasv103jh5";
}; };
nativeBuildInputs = [ cmake makeQtWrapper ]; nativeBuildInputs = [ cmake makeQtWrapper ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, pcre, libxkbcommon, epoxy { stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, pcre, libxkbcommon, epoxy
, gtk3, poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence , gtk3, poppler, freetype, libpthreadstubs, libXdmcp, libxshmfence, wrapGAppsHook
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation libpthreadstubs libXdmcp libxshmfence # otherwise warnings in compilation
]; ];
nativeBuildInputs = [
wrapGAppsHook
];
patches = [ patches = [
(fetchpatch { (fetchpatch {
url = "https://github.com/naihe2010/apvlv/commit/d432635b9c5ea6c052a2ae1fb71aedec5c4ad57a.patch"; url = "https://github.com/naihe2010/apvlv/commit/d432635b9c5ea6c052a2ae1fb71aedec5c4ad57a.patch";
@ -41,6 +45,7 @@ stdenv.mkDerivation rec {
# displays pdfStartup.pdf as default pdf entry # displays pdfStartup.pdf as default pdf entry
mkdir -p $out/share/doc/apvlv/ mkdir -p $out/share/doc/apvlv/
cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf
cp ../main_menubar.glade $out/share/doc/apvlv/main_menubar.glade
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -62,6 +62,8 @@ stdenv.mkDerivation rec {
]); ]);
installPhase = '' installPhase = ''
runHook preInstall
export HOME=$TMPDIR/fakehome export HOME=$TMPDIR/fakehome
export POPPLER_INC_DIR=${poppler_utils.dev}/include/poppler export POPPLER_INC_DIR=${poppler_utils.dev}/include/poppler
export POPPLER_LIB_DIR=${poppler_utils.out}/lib export POPPLER_LIB_DIR=${poppler_utils.out}/lib
@ -92,6 +94,8 @@ stdenv.mkDerivation rec {
for entry in $out/share/applications/*.desktop; do for entry in $out/share/applications/*.desktop; do
substituteAllInPlace $entry substituteAllInPlace $entry
done done
runHook postInstall
''; '';
calibreDesktopItem = makeDesktopItem { calibreDesktopItem = makeDesktopItem {

View File

@ -2,48 +2,53 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
charlock_holmes (0.7.3) charlock_holmes (0.7.3)
diff-lcs (1.2.5) diff-lcs (1.3)
github-markup (1.3.3) gemojione (3.2.0)
gitlab-grit (2.7.3) json
github-markup (1.6.0)
gitlab-grit (2.8.1)
charlock_holmes (~> 0.6) charlock_holmes (~> 0.6)
diff-lcs (~> 1.1) diff-lcs (~> 1.1)
mime-types (~> 1.15) mime-types (>= 1.16, < 3)
posix-spawn (~> 0.3) posix-spawn (~> 0.3)
gollum (4.0.1) gollum (4.1.1)
gemojione (~> 3.2)
gollum-lib (~> 4.0, >= 4.0.1) gollum-lib (~> 4.0, >= 4.0.1)
kramdown (~> 1.8.0) kramdown (~> 1.9.0)
mustache (>= 0.99.5, < 1.0.0) mustache (>= 0.99.5, < 1.0.0)
sinatra (~> 1.4, >= 1.4.4) sinatra (~> 1.4, >= 1.4.4)
useragent (~> 0.14.0) useragent (~> 0.16.2)
gollum-grit_adapter (1.0.0) gollum-grit_adapter (1.0.1)
gitlab-grit (~> 2.7, >= 2.7.1) gitlab-grit (~> 2.7, >= 2.7.1)
gollum-lib (4.1.0) gollum-lib (4.2.5)
github-markup (~> 1.3.3) gemojione (~> 3.2)
github-markup (~> 1.6)
gollum-grit_adapter (~> 1.0) gollum-grit_adapter (~> 1.0)
nokogiri (~> 1.6.4) nokogiri (~> 1.6.4)
rouge (~> 1.9) rouge (~> 2.0)
sanitize (~> 2.1.0) sanitize (~> 2.1)
stringex (~> 2.5.1) stringex (~> 2.6)
kramdown (1.8.0) json (2.1.0)
mime-types (1.25.1) kramdown (1.9.0)
mini_portile2 (2.0.0) mime-types (2.99.3)
mini_portile2 (2.1.0)
mustache (0.99.8) mustache (0.99.8)
nokogiri (1.6.7.2) nokogiri (1.6.8.1)
mini_portile2 (~> 2.0.0.rc2) mini_portile2 (~> 2.1.0)
posix-spawn (0.3.11) posix-spawn (0.3.13)
rack (1.6.4) rack (1.6.8)
rack-protection (1.5.3) rack-protection (1.5.3)
rack rack
rouge (1.10.1) rouge (2.0.7)
sanitize (2.1.0) sanitize (2.1.0)
nokogiri (>= 1.4.4) nokogiri (>= 1.4.4)
sinatra (1.4.7) sinatra (1.4.8)
rack (~> 1.5) rack (~> 1.5)
rack-protection (~> 1.4) rack-protection (~> 1.4)
tilt (>= 1.3, < 3) tilt (>= 1.3, < 3)
stringex (2.5.2) stringex (2.7.1)
tilt (2.0.2) tilt (2.0.7)
useragent (0.14.0) useragent (0.16.8)
PLATFORMS PLATFORMS
ruby ruby
@ -52,4 +57,4 @@ DEPENDENCIES
gollum gollum
BUNDLED WITH BUNDLED WITH
1.10.6 1.15.0

View File

@ -1,16 +1,32 @@
{ stdenv, lib, bundlerEnv, ruby_2_2, icu, zlib }: { stdenv, bundlerEnv, ruby, makeWrapper
, git }:
bundlerEnv rec { stdenv.mkDerivation rec {
name = "gollum-${version}"; name = "${pname}-${version}";
version = "4.0.1"; pname = "gollum";
version = (import ./gemset.nix).gollum.version;
ruby = ruby_2_2; nativeBuildInputs = [ makeWrapper ];
env = bundlerEnv {
name = "${name}-gems";
inherit pname ruby;
gemdir = ./.; gemdir = ./.;
};
meta = with lib; { phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin
makeWrapper ${env}/bin/gollum $out/bin/gollum \
--prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
'';
meta = with stdenv.lib; {
description = "A simple, Git-powered wiki"; description = "A simple, Git-powered wiki";
homepage = "https://github.com/gollum/gollum";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ jgillich ]; maintainers = with maintainers; [ jgillich primeos ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -1,170 +1,186 @@
{ {
useragent = {
version = "0.14.0";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "124r3mgkw1zjymsqq9r25zh1vwjrjgiji5fm620z53lpmmryj22j";
};
};
tilt = {
version = "2.0.2";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0lkd40xfdqkp333vdfhrfjmi2y7k2hjs4azawfb62mrkfp7ivj84";
};
};
stringex = {
version = "2.5.2";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
};
};
sinatra = {
version = "1.4.7";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "1b81kbr65mmcl9cdq2r6yc16wklyp798rxkgmm5pr9fvsj7jwmxp";
};
};
sanitize = {
version = "2.1.0";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
};
};
rouge = {
version = "1.10.1";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
};
};
rack-protection = {
version = "1.5.3";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
};
};
rack = {
version = "1.6.4";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
};
};
posix-spawn = {
version = "0.3.11";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
};
};
nokogiri = {
version = "1.6.7.2";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
};
};
mustache = {
version = "0.99.8";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
};
};
mini_portile2 = {
version = "2.0.0";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
};
};
mime-types = {
version = "1.25.1";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
};
};
kramdown = {
version = "1.8.0";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0ryqq055h5n10c1cfba6pxsssa907l2hkw29anp0d41ryh47ca2l";
};
};
gollum-lib = {
version = "4.1.0";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "01s8pgzhc3cgcmsy6hh79wrcbn5vbadniq2a7d4qw87kpq7mzfdm";
};
};
gollum-grit_adapter = {
version = "1.0.0";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
};
};
gollum = {
version = "4.0.1";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "02pgx083sns75zgnqx94p5h5bpr7cfiw5mys4ayb4k33hcjm6ydg";
};
};
gitlab-grit = {
version = "2.7.3";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
};
};
github-markup = {
version = "1.3.3";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
};
};
diff-lcs = {
version = "1.2.5";
source = {
type = "gem";
remotes = ["https://rubygems.org"];
sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
};
};
charlock_holmes = { charlock_holmes = {
version = "0.7.3";
source = { source = {
type = "gem";
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7"; sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
type = "gem";
}; };
version = "0.7.3";
};
diff-lcs = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
type = "gem";
};
version = "1.3";
};
gemojione = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0svj3hsmwyr306vg75cd7p9i4bwnajrda60n2vhiav2cvhnkawik";
type = "gem";
};
version = "3.2.0";
};
github-markup = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g538d7kcj2iw4d9ll8266d8n526hz2fbx7zlx8z7gxg1gzwiki9";
type = "gem";
};
version = "1.6.0";
};
gitlab-grit = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lf1cr6pzqrbnxiiwym6q74b1a2ihdi91dynajk8hi1p093hl66n";
type = "gem";
};
version = "2.8.1";
};
gollum = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jrafhy8p9pgvya0gj2g6knrpg58g65s7j9bcyfj6fp4n2dz2w7s";
type = "gem";
};
version = "4.1.1";
};
gollum-grit_adapter = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
type = "gem";
};
version = "1.0.1";
};
gollum-lib = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0399lfqv3hbpr7v14p9snyimva440d2mb8y7xm2zlgwv7l0n9z0z";
type = "gem";
};
version = "4.2.5";
};
json = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
type = "gem";
};
version = "2.1.0";
};
kramdown = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0";
type = "gem";
};
version = "1.9.0";
};
mime-types = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
type = "gem";
};
version = "2.99.3";
};
mini_portile2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
type = "gem";
};
version = "2.1.0";
};
mustache = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
type = "gem";
};
version = "0.99.8";
};
nokogiri = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "045xdg0w7nnsr2f2gb7v7bgx53xbc9dxf0jwzmh2pr3jyrzlm0cj";
type = "gem";
};
version = "1.6.8.1";
};
posix-spawn = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw";
type = "gem";
};
version = "0.3.13";
};
rack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
type = "gem";
};
version = "1.6.8";
};
rack-protection = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
type = "gem";
};
version = "1.5.3";
};
rouge = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d";
type = "gem";
};
version = "2.0.7";
};
sanitize = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
type = "gem";
};
version = "2.1.0";
};
sinatra = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
type = "gem";
};
version = "1.4.8";
};
stringex = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zc93v00av643lc6njl09wwki7h5yqayhh1din8zqfylw814l1dv";
type = "gem";
};
version = "2.7.1";
};
tilt = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1is1ayw5049z8pd7slsk870bddyy5g2imp4z78lnvl8qsl8l0s7b";
type = "gem";
};
version = "2.0.7";
};
useragent = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1139cjqyv1hk1qcw89k81ajjkqyakqgbcyvmfrsmjqi8yn9kgqhq";
type = "gem";
};
version = "0.16.8";
}; };
} }

View File

@ -10,14 +10,13 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "inspectrum-${version}"; name = "inspectrum-unstable-2017-05-31";
version = "20170218";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "miek"; owner = "miek";
repo = "inspectrum"; repo = "inspectrum";
rev = "d8d1969a4cceeee0ebfd2f39e791fddd5155d4de"; rev = "a89d1337efb31673ccb6a6681bb89c21894c76f7";
sha256 = "05sarfin9wqkvgwn3fil1r4bay03cwzzhjwbdjslibc5chdrr2cn"; sha256 = "1fvnr8gca25i6s9mg9b2hyqs0zzr4jicw13mimc9dhrgxklrr1yv";
}; };
buildInputs = [ buildInputs = [

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qtox-${version}"; name = "qtox-${version}";
version = "1.10.1"; version = "1.10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tux3"; owner = "tux3";
repo = "qTox"; repo = "qTox";
rev = "v${version}"; rev = "v${version}";
sha256 = "1c5y7fwhsq1f6z8208xl1jd6bl1r6k8g0fjqxf0z10373c9395jq"; sha256 = "0c2633rc9l73q9qs9hybn11hmlqbwsvih3sf6jk1jp4151k5wp1y";
}; };
buildInputs = [ buildInputs = [

View File

@ -4,7 +4,7 @@
let let
version = "5.2.0.1"; version = "5.3.0.1";
rpath = stdenv.lib.makeLibraryPath [ rpath = stdenv.lib.makeLibraryPath [
alsaLib alsaLib
@ -49,8 +49,8 @@ let
src = src =
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_5.2.0.1_amd64.deb"; url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
sha256 = "1dwyj5wm2amkysbnzxsskq6sl7rbqggm6n4sabnq7wd5xnbq4i06"; sha256 = "08sf9nqnznsydw4965w7ixwwba54hjc02ga7vcnz9vpx5hln3nrz";
} }
else else
throw "Skype for linux is not supported on ${stdenv.system}"; throw "Skype for linux is not supported on ${stdenv.system}";

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, dpkg { stdenv, fetchurl, dpkg
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib, gnome2 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
, libnotify, nspr, nss, systemd, xorg }: , gnome2, libnotify, libxcb, nspr, nss, systemd, xorg }:
let let
version = "2.5.2"; version = "2.6.2";
rpath = stdenv.lib.makeLibraryPath [ rpath = stdenv.lib.makeLibraryPath [
alsaLib alsaLib
@ -22,6 +22,7 @@ let
gnome2.gtk gnome2.gtk
gnome2.pango gnome2.pango
libnotify libnotify
libxcb
nspr nspr
nss nss
stdenv.cc.cc stdenv.cc.cc
@ -45,7 +46,7 @@ let
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb"; url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
sha256 = "0mg8js18lnnwyvqksrhpym7d04bin16bh7sdmxbm36iijb9ajxmi"; sha256 = "01zdzzpnv8qpmcpy6h9x7izrnwm0y015j5p5rnjwx8ki712wnmm8";
} }
else else
throw "Slack is not supported on ${stdenv.system}"; throw "Slack is not supported on ${stdenv.system}";

View File

@ -3,10 +3,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "insync-${version}"; name = "insync-${version}";
version = "1.3.16.36155"; version = "1.3.16.36155";
src = fetchurl { src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2"; url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2";
sha256 = "1gf1qg7mkbcgqhwxkiljmd1w2zvarq6vhxhips3w06bqdyg12210"; sha256 = "1gf1qg7mkbcgqhwxkiljmd1w2zvarq6vhxhips3w06bqdyg12210";
}; }
else
throw "${name} is not supported on ${stdenv.system}";
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];

View File

@ -1,21 +1,29 @@
{ stdenv, fetchFromGitHub, which, autoreconfHook, ncurses, perl { stdenv, fetchFromGitHub, which, autoreconfHook, ncurses, perl
, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }: , cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20170428"; version = "20170602";
name = "neomutt-${version}"; name = "neomutt-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neomutt"; owner = "neomutt";
repo = "neomutt"; repo = "neomutt";
rev = "neomutt-${version}"; rev = "neomutt-${version}";
sha256 = "1p6214agfv9plskkzalh03r5naiiyg1habrnknnjgck3nypb78ik"; sha256 = "0rpvxmv10ypl7la4nmp0s02ixmm9g5pn9g9ms8ygzsix9pa86w45";
}; };
nativeBuildInputs = [ which autoreconfHook ]; nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ];
buildInputs = buildInputs = [
[ cyrus_sasl gdbm gpgme kerberos libidn ncurses cyrus_sasl gdbm gpgme kerberos libidn ncurses
notmuch openssl perl lmdb ]; notmuch openssl perl lmdb
];
postPatch = ''
for f in doc/*.xsl ; do
substituteInPlace $f \
--replace http://docbook.sourceforge.net/release/xsl/current ${docbook_xsl}/share/xml/docbook-xsl
done
'';
configureFlags = [ configureFlags = [
"--enable-debug" "--enable-debug"
@ -46,6 +54,8 @@ stdenv.mkDerivation rec {
configureScript = "./prepare"; configureScript = "./prepare";
enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A small but very powerful text-based mail client"; description = "A small but very powerful text-based mail client";
homepage = http://www.neomutt.org; homepage = http://www.neomutt.org;

View File

@ -0,0 +1,39 @@
{ stdenv, fetchurl, ... }:
let
arch = {
"x86_64-linux" = "x64";
"i686-linux" = "i386";
}.${stdenv.system};
libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ];
in stdenv.mkDerivation rec {
name = "resilio-sync-${version}";
version = "2.5.2";
src = fetchurl {
url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
sha256 = {
"x86_64-linux" = "15gji5zqs1py92bpwvvq0r1spl0yynbrsnh4ajphwq17bqys3192";
"i686-linux" = "1y67bd63b95va7g2676rgp2clvcy09pnmivy00r2w46y7kwwwbj8";
}.${stdenv.system};
};
dontStrip = true; # Don't strip, otherwise patching the rpaths breaks
sourceRoot = ".";
installPhase = ''
install -D rslsync "$out/bin/rslsync"
patchelf \
--interpreter "$(< $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${libPath} "$out/bin/rslsync"
'';
meta = with stdenv.lib; {
description = "Automatically sync files via secure, distributed technology";
homepage = https://www.resilio.com/;
license = licenses.unfreeRedistributable;
platforms = platforms.linux;
maintainers = with maintainers; [ domenkozar thoughtpolice cwoac ];
};
}

View File

@ -1,24 +1,50 @@
{ stdenv, fetchurl, python27Packages, glew, freeglut, libpng, libxml2, tk, freetype }: { stdenv, fetchurl, makeDesktopItem
, python3, python3Packages
, glew, freeglut, libpng, libxml2, tk, freetype }:
with stdenv.lib;
let let
version = "1.8.4.0"; pname = "pymol";
ver_maj = "1.8";
ver_min = "4";
version = "${ver_maj}.${ver_min}.0";
description = "A Python-enhanced molecular graphics tool";
desktopItem = makeDesktopItem {
name = "${pname}";
exec = "${pname}";
desktopName = "PyMol Molecular Graphics System";
genericName = "Molecular Modeller";
comment = description;
mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;";
categories = "Graphics;Education;Science;Chemistry;";
};
in in
python27Packages.buildPythonApplication { python3Packages.buildPythonApplication {
name = "pymol-${version}"; name = "pymol-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/pymol/pymol/1.8/pymol-v1.8.4.0.tar.bz2"; url = "mirror://sourceforge/project/pymol/pymol/${ver_maj}/pymol-v${version}.tar.bz2";
sha256 = "0yfj8g5yic9zz6f0bw2n8h6ifvgsn8qvhq84alixsi28wzppn55n"; sha256 = "0yfj8g5yic9zz6f0bw2n8h6ifvgsn8qvhq84alixsi28wzppn55n";
}; };
buildInputs = [ python27Packages.numpy glew freeglut libpng libxml2 tk freetype ]; buildInputs = [ python3Packages.numpy glew freeglut libpng libxml2 tk freetype ];
NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2"; NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
installPhase = '' installPhase = ''
python setup.py install --home=$out python setup.py install --home=$out
cp -r ${desktopItem}/share/ $out/
runHook postInstall
''; '';
meta = with stdenv.lib; { postInstall = with python3Packages; ''
description = "A Python-enhanced molecular graphics tool"; wrapProgram $out/bin/pymol \
--prefix PYTHONPATH : ${makeSearchPathOutput "lib" python3.sitePackages [ Pmw tkinter ]}
'';
meta = {
description = description;
homepage = "https://www.pymol.org/"; homepage = "https://www.pymol.org/";
license = licenses.psfl; license = licenses.psfl;
}; };

View File

@ -9,11 +9,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitkraken-${version}"; name = "gitkraken-${version}";
version = "2.5.0"; version = "2.6.0";
src = fetchurl { src = fetchurl {
url = "https://release.gitkraken.com/linux/v${version}.deb"; url = "https://release.gitkraken.com/linux/v${version}.deb";
sha256 = "1in8caxsc8fld1sl6d9nzch86s9x0770qi6amh573zmb80yyd743"; sha256 = "1msdwqp20pwaxv1a6maqb7wmaq00m8jpdga7fmbjcnpvkcdz49l7";
}; };
libPath = makeLibraryPath [ libPath = makeLibraryPath [

View File

@ -2,14 +2,14 @@
, xcbutilimage, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }: , xcbutilimage, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.7-2017-04-01"; version = "2.9.1-c";
name = "i3lock-color-${version}"; name = "i3lock-color-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "chrjguill"; owner = "chrjguill";
repo = "i3lock-color"; repo = "i3lock-color";
rev = "61f6428aedbe4829d3e0f51d137283c8aec1e206"; rev = version;
sha256 = "0h4nzx46kcsp6b1i2lm9y4d1w1icrpvjl8g1h3wbpa5x4crh4703"; sha256 = "0qnw71qbppgp3ywj1k07av7wkl9syfb8j6izrkhj143q2ks4rkvl";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage pam libX11 buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage pam libX11

View File

@ -28,3 +28,6 @@ The file can either be a tar file or an Emacs Lisp file."
(insert-file-contents file)) (insert-file-contents file))
(when is-tar (tar-mode)) (when is-tar (tar-mode))
(elpa2nix-install-from-buffer)))) (elpa2nix-install-from-buffer))))
;; Allow installing package tarfiles larger than 10MB
(setq large-file-warning-threshold nil)

View File

@ -7,7 +7,7 @@ if md5 != "" then
else else
stdenv.mkDerivation { stdenv.mkDerivation {
name = "fetchdarcs"; name = "fetchdarcs";
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
builder = ./builder.sh; builder = ./builder.sh;
buildInputs = [darcs]; buildInputs = [darcs];

View File

@ -12,4 +12,5 @@ $SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
${fetchSubmodules:+--fetch-submodules} \ ${fetchSubmodules:+--fetch-submodules} \
${branchName:+--branch-name "$branchName"} ${branchName:+--branch-name "$branchName"}
runHook postFetch
stopNest stopNest

View File

@ -15,6 +15,9 @@ in
, fetchSubmodules ? true, deepClone ? false , fetchSubmodules ? true, deepClone ? false
, branchName ? null , branchName ? null
, name ? urlToName url rev , name ? urlToName url rev
, # Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file.
postFetch ? ""
}: }:
/* NOTE: /* NOTE:
@ -54,7 +57,7 @@ stdenv.mkDerivation {
outputHashMode = "recursive"; outputHashMode = "recursive";
outputHash = sha256; outputHash = sha256;
inherit url rev leaveDotGit fetchSubmodules deepClone branchName; inherit url rev leaveDotGit fetchSubmodules deepClone branchName postFetch;
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "iosevka-${version}"; name = "iosevka-${version}";
version = "1.12.5"; version = "1.13.0";
buildInputs = [ unzip ]; buildInputs = [ unzip ];
src = fetchurl { src = fetchurl {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip"; url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip";
sha256 = "0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi"; sha256 = "03jc8a10177wk35gyp0n317azakyy5qzc6vbh331552asawckswr";
}; };
sourceRoot = "."; sourceRoot = ".";

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl }: { lib, stdenv, fetchurl, ruby }:
let let
@ -10,6 +10,8 @@ let
inherit sha256; inherit sha256;
}; };
buildInputs = [ ruby ];
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
@ -21,6 +23,9 @@ let
# Backwards compatibility. Will remove eventually. # Backwards compatibility. Will remove eventually.
mkdir -p $out/xml/xsl mkdir -p $out/xml/xsl
ln -s $dst $out/xml/xsl/docbook ln -s $dst $out/xml/xsl/docbook
ln -sv $dst/epub/bin $out
chmod +x $out/bin/dbtoepub
''; '';
meta = { meta = {

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool ]; nativeBuildInputs = [ pkgconfig intltool ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
platforms = platforms.linux; platforms = platforms.unix;
maintainers = gnome3.maintainers; maintainers = gnome3.maintainers;
}; };
} }

View File

@ -0,0 +1,24 @@
{ stdenv, cmake, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "32";
rev = "version_${version}";
name = "binaryen-${version}";
src = fetchFromGitHub {
owner = "WebAssembly";
repo = "binaryen";
sha256 = "0zclw6pa2pkzrnp8ib9qwbjvq38r2h5ynfg8fjl99b5lcyz5m590";
inherit rev;
};
nativeBuildInputs = [ cmake ];
meta = with stdenv.lib; {
homepage = https://github.com/WebAssembly/binaryen;
description = "Compiler infrastructure and toolchain library for WebAssembly, in C++";
platforms = platforms.all;
maintainers = with maintainers; [ asppsa ];
license = licenses.asl20;
};
}

View File

@ -1,4 +1,6 @@
{ stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, jre }: { stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler
, jre, binaryen, enableWasm ? true
}:
let let
rev = "1.37.10"; rev = "1.37.10";
@ -36,6 +38,9 @@ stdenv.mkDerivation {
echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config
echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/closure-compiler-v${closurecompiler.version}.jar'" >> $out/${appdir}/config echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/closure-compiler-v${closurecompiler.version}.jar'" >> $out/${appdir}/config
echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config
''
+ stdenv.lib.optionalString enableWasm ''
echo "BINARYEN_ROOT = '${binaryen}'" >> $out/share/emscripten/config
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,16 +1,25 @@
{ stdenv, fetchurl }: { stdenv, fetchurl, openssl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gambit-${version}"; name = "gambit-${version}";
version = "4.8.5"; version = "4.8.6";
devver = "4_8_5"; devver = "4_8_6";
src = fetchurl { src = fetchurl {
url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.8/source/gambit-v${devver}-devel.tgz"; url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.8/source/gambit-v${devver}-devel.tgz";
sha256 = "02b5bm06k2qr0lvdwwsl0ygxs7n8410rrkq95picn4s02kxszqnq"; sha256 = "0j3ka76cfb007rlcc3nv5p1s6vh31cwp87hwwabawf16vs1jb7bl";
}; };
configureFlags = [ "--enable-shared" "--enable-single-host" ]; configureFlags = [
"--enable-single-host"
"--enable-shared"
"--enable-absolute-shared-libs"
"--enable-c-opt=-O6" "--enable-gcc-opts" "--enable-inline-jumps"
"--enable-thread-system=posix" "--enable-dynamic-tls"
"--enable-openssl"
];
buildInputs = [ openssl ];
meta = { meta = {
description = "Optimizing Scheme to C compiler"; description = "Optimizing Scheme to C compiler";

View File

@ -0,0 +1,551 @@
{ stdenv, fetchurl, noSysDirs
, langC ? true, langCC ? true, langFortran ? false
, langObjC ? stdenv.isDarwin
, langObjCpp ? stdenv.isDarwin
, langJava ? false
, langAda ? false
, langVhdl ? false
, langGo ? false
, profiledCompiler ? false
, staticCompiler ? false
, enableShared ? true
, texinfo ? null
, perl ? null # optional, for texi2pod (then pod2man); required for Java
, gmp, mpfr, libmpc, gettext, which
, libelf # optional, for link-time optimizations (LTO)
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null, boehmgc ? null
, zip ? null, unzip ? null, pkgconfig ? null
, gtk2 ? null, libart_lgpl ? null
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
, x11Support ? langJava
, gnatboot ? null
, enableMultilib ? false
, enablePlugin ? true # whether to support user-supplied plug-ins
, name ? "gcc"
, cross ? null
, libcCross ? null
, crossStageStatic ? true
, gnat ? null
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
, stripped ? true
, gnused ? null
, binutils ? null
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
, darwin ? null
, flex ? null
, buildPlatform, hostPlatform, targetPlatform
}:
assert langJava -> zip != null && unzip != null
&& zlib != null && boehmgc != null
&& perl != null; # for `--enable-java-home'
assert langAda -> gnatboot != null;
assert langVhdl -> gnat != null;
# LTO needs libelf and zlib.
assert libelf != null -> zlib != null;
# Make sure we get GNU sed.
assert stdenv.isDarwin -> gnused != null;
# Need c++filt on darwin
assert stdenv.isDarwin -> binutils != null;
# The go frontend is written in c++
assert langGo -> langCC;
with stdenv.lib;
with builtins;
let version = "7.1.0";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
enableParallelBuilding = true;
patches =
[ ]
++ optional (cross != null) ../libstdc++-target.patch
++ optional noSysDirs ../no-sys-dirs.patch
# The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
# target libraries and tools.
++ optional langAda ../gnat-cflags.patch
++ optional langFortran ../gfortran-driving.patch;
javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
# `configure' time.
# XXX: Eventually we might want to take it from upstream.
url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
};
# Antlr (optional) allows the Java `gjdoc' tool to be built. We want a
# binary distribution here to allow the whole chain to be bootstrapped.
javaAntlr = fetchurl {
url = http://www.antlr.org/download/antlr-4.4-complete.jar;
sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
};
xlibs = [
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
xproto renderproto xextproto inputproto randrproto
];
javaAwtGtk = langJava && x11Support;
/* Platform flags */
platformFlags = let
gccArch = stdenv.platform.gcc.arch or null;
gccCpu = stdenv.platform.gcc.cpu or null;
gccAbi = stdenv.platform.gcc.abi or null;
gccFpu = stdenv.platform.gcc.fpu or null;
gccFloat = stdenv.platform.gcc.float or null;
gccMode = stdenv.platform.gcc.mode or null;
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
in
withArch +
withCpu +
withAbi +
withFpu +
withFloat +
withMode;
/* Cross-gcc settings */
crossMingw = cross != null && cross.libc == "msvcrt";
crossDarwin = cross != null && cross.libc == "libSystem";
crossConfigureFlags = let
gccArch = targetPlatform.gcc.arch or null;
gccCpu = targetPlatform.gcc.cpu or null;
gccAbi = targetPlatform.gcc.abi or null;
gccFpu = targetPlatform.gcc.fpu or null;
gccFloat = targetPlatform.gcc.float or null;
gccMode = targetPlatform.gcc.mode or null;
withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else "";
withFloat = if gccFloat != null then " --with-float=${gccFloat}" else "";
withMode = if gccMode != null then " --with-mode=${gccMode}" else "";
in
"--target=${cross.config}" +
withArch +
withCpu +
withAbi +
withFpu +
withFloat +
withMode +
# Ensure that -print-prog-name is able to find the correct programs.
" --with-as=${binutils}/bin/${cross.config}-as" +
" --with-ld=${binutils}/bin/${cross.config}-ld" +
(if crossMingw && crossStageStatic then
" --with-headers=${libcCross}/include" +
" --with-gcc" +
" --with-gnu-as" +
" --with-gnu-ld" +
" --with-gnu-ld" +
" --disable-shared" +
" --disable-nls" +
" --disable-debug" +
" --enable-sjlj-exceptions" +
" --enable-threads=win32" +
" --disable-win32-registry"
else if crossStageStatic then
" --disable-libssp --disable-nls" +
" --without-headers" +
" --disable-threads " +
" --disable-libgomp " +
" --disable-libquadmath" +
" --disable-shared" +
" --disable-libatomic " + # libatomic requires libc
" --disable-decimal-float" # libdecnumber requires libc
else
(if crossDarwin then " --with-sysroot=${getLib libcCross}/share/sysroot"
else " --with-headers=${getDev libcCross}/include") +
# Ensure that -print-prog-name is able to find the correct programs.
" --enable-__cxa_atexit" +
" --enable-long-long" +
(if crossMingw then
" --enable-threads=win32" +
" --enable-sjlj-exceptions" +
" --enable-hash-synchronization" +
" --disable-libssp" +
" --disable-nls" +
" --with-dwarf2" +
# I think noone uses shared gcc libs in mingw, so we better do the same.
# In any case, mingw32 g++ linking is broken by default with shared libs,
# unless adding "-lsupc++" to any linking command. I don't know why.
" --disable-shared" +
# To keep ABI compatibility with upstream mingw-w64
" --enable-fully-dynamic-string"
else (if cross.libc == "uclibc" then
# libsanitizer requires netrom/netrom.h which is not
# available in uclibc.
" --disable-libsanitizer" +
# In uclibc cases, libgomp needs an additional '-ldl'
# and as I don't know how to pass it, I disable libgomp.
" --disable-libgomp" else "") +
" --enable-threads=posix" +
" --enable-nls" +
" --disable-decimal-float") # No final libdecnumber (it may work only in 386)
);
stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else "";
bootstrap = cross == null;
in
# We need all these X libraries when building AWT with GTK+.
assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
stdenv.mkDerivation ({
name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon;
builder = ../builder.sh;
src = fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.bz2";
sha256 = "05xwps0ci7wgxh50askpa2r9p8518qxdgh6ad7pnyk7n6p13d0ca";
};
inherit patches;
outputs = [ "out" "lib" "man" "info" ];
setOutputFlags = false;
NIX_NO_SELF_RPATH = true;
libc_dev = stdenv.cc.libc_dev;
hardeningDisable = [ "format" ];
postPatch =
if (stdenv.isHurd
|| (libcCross != null # e.g., building `gcc.crossDrv'
&& libcCross ? crossConfig
&& libcCross.crossConfig == "i586-pc-gnu")
|| (crossGNU && libcCross != null))
then
# On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
# in glibc, so add the right `-I' flags to the default spec string.
assert libcCross != null -> libpthreadCross != null;
let
libc = if libcCross != null then libcCross else stdenv.glibc;
gnu_h = "gcc/config/gnu.h";
extraCPPDeps =
libc.propagatedBuildInputs
++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross
++ stdenv.lib.optional (libpthread != null) libpthread;
extraCPPSpec =
concatStrings (intersperse " "
(map (x: "-I${x.dev or x}/include") extraCPPDeps));
extraLibSpec =
if libpthreadCross != null
then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}"
else "-L${libpthread}/lib";
in
'' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..."
sed -i "${gnu_h}" \
-es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g'
echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
sed -i "${gnu_h}" \
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..."
sed -i "${gnu_h}" \
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g'
''
else if cross != null || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
libc = if libcCross != null then libcCross else stdenv.cc.libc;
in
'' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
do
grep -q LIBC_DYNAMIC_LINKER "$header" || continue
echo " fixing \`$header'..."
sed -i "$header" \
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'
done
''
else null;
inherit noSysDirs staticCompiler langJava crossStageStatic
libcCross crossMingw;
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkgconfig);
buildInputs = [ gmp mpfr libmpc libelf flex ]
++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
++ (optionals langJava [ boehmgc zip unzip ])
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
++ (optionals (cross != null) [binutils])
++ (optionals langAda [gnatboot])
++ (optionals langVhdl [gnat])
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional stdenv.isDarwin gnused)
++ (optional stdenv.isDarwin binutils)
;
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl";
preConfigure = stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) ''
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
'';
dontDisableStatic = true;
configureFlags = "
${if stdenv.isSunOS then
" --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " +
# On Illumos/Solaris GNU as is preferred
" --with-gnu-as --without-gnu-ld "
else ""}
--enable-lto
${if enableMultilib then "--enable-multilib --disable-libquadmath" else "--disable-multilib"}
${if enableShared then "" else "--disable-shared"}
${if enablePlugin then "--enable-plugin" else "--disable-plugin"}
${optionalString (isl != null) "--with-isl=${isl}"}
${if langJava then
"--with-ecj-jar=${javaEcj} " +
# Follow Sun's layout for the convenience of IcedTea/OpenJDK. See
# <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
"--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre "
else ""}
${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
--with-gmp-include=${gmp.dev}/include
--with-gmp-lib=${gmp.out}/lib
--with-mpfr-include=${mpfr.dev}/include
--with-mpfr-lib=${mpfr.out}/lib
--with-mpc=${libmpc}
${if libelf != null then "--with-libelf=${libelf}" else ""}
--disable-libstdcxx-pch
--without-included-gettext
--with-system-zlib
--enable-static
--enable-languages=${
concatStrings (intersperse ","
( optional langC "c"
++ optional langCC "c++"
++ optional langFortran "fortran"
++ optional langJava "java"
++ optional langAda "ada"
++ optional langVhdl "vhdl"
++ optional langGo "go"
++ optional langObjC "objc"
++ optional langObjCpp "obj-c++"
++ optionals crossDarwin [ "objc" "obj-c++" ]
)
)
}
${if cross == null
then if stdenv.isDarwin
then " --with-native-system-header-dir=${darwin.usr-include}"
else " --with-native-system-header-dir=${getDev stdenv.cc.libc}/include"
else ""}
${if langAda then " --enable-libada" else ""}
${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""}
${if cross != null then crossConfigureFlags else ""}
${if !bootstrap then "--disable-bootstrap" else ""}
${if cross == null then platformFlags else ""}
";
targetConfig = if cross != null then cross.config else null;
buildFlags = if bootstrap then
(if profiledCompiler then "profiledbootstrap" else "bootstrap")
else "";
installTargets =
if stripped
then "install-strip"
else "install";
crossAttrs = let
xgccArch = targetPlatform.gcc.arch or null;
xgccCpu = targetPlatform.gcc.cpu or null;
xgccAbi = targetPlatform.gcc.abi or null;
xgccFpu = targetPlatform.gcc.fpu or null;
xgccFloat = targetPlatform.gcc.float or null;
xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else "";
xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else "";
xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else "";
xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else "";
xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else "";
in {
AR = "${targetPlatform.config}-ar";
LD = "${targetPlatform.config}-ld";
CC = "${targetPlatform.config}-gcc";
CXX = "${targetPlatform.config}-gcc";
AR_FOR_TARGET = "${targetPlatform.config}-ar";
LD_FOR_TARGET = "${targetPlatform.config}-ld";
CC_FOR_TARGET = "${targetPlatform.config}-gcc";
NM_FOR_TARGET = "${targetPlatform.config}-nm";
CXX_FOR_TARGET = "${targetPlatform.config}-g++";
# If we are making a cross compiler, cross != null
NIX_CC_CROSS = if cross == null then "${stdenv.ccCross}" else "";
dontStrip = true;
configureFlags = ''
${if enableMultilib then "" else "--disable-multilib"}
${if enableShared then "" else "--disable-shared"}
${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""}
${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""}
--with-gmp=${gmp.crossDrv}
--with-mpfr=${mpfr.crossDrv}
--with-mpc=${libmpc.crossDrv}
--disable-libstdcxx-pch
--without-included-gettext
--with-system-zlib
--enable-languages=${
concatStrings (intersperse ","
( optional langC "c"
++ optional langCC "c++"
++ optional langFortran "fortran"
++ optional langJava "java"
++ optional langAda "ada"
++ optional langVhdl "vhdl"
++ optional langGo "go"
)
)
}
${if langAda then " --enable-libada" else ""}
--target=${targetPlatform.config}
${xwithArch}
${xwithCpu}
${xwithAbi}
${xwithFpu}
${xwithFloat}
'';
buildFlags = "";
};
# Needed for the cross compilation to work
AR = "ar";
LD = "ld";
# http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find
# the library headers and binaries, regarless of the language being
# compiled.
# Note: When building the Java AWT GTK+ peer, the build system doesn't
# honor `--with-gmp' et al., e.g., when building
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just
# add them to $CPATH and $LIBRARY_PATH in this case.
#
# Likewise, the LTO code doesn't find zlib.
CPATH = makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread
++ optional (libpthreadCross != null) libpthreadCross
# On GNU/Hurd glibc refers to Mach & Hurd
# headers.
++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs")
libcCross.propagatedBuildInputs);
LIBRARY_PATH = makeLibraryPath ([]
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
++ optional (libpthread != null) libpthread);
EXTRA_TARGET_CFLAGS =
if cross != null && libcCross != null then [
"-idirafter ${getDev libcCross}/include"
]
++ optionals (! crossStageStatic) [
"-B${libcCross.out}/lib"
]
else null;
EXTRA_TARGET_LDFLAGS =
if cross != null && libcCross != null then [
"-Wl,-L${libcCross.out}/lib"
]
++ (if crossStageStatic then [
"-B${libcCross.out}/lib"
] else [
"-Wl,-rpath,${libcCross.out}/lib"
"-Wl,-rpath-link,${libcCross.out}/lib"
])
++ optionals (libpthreadCross != null) [
"-L${libpthreadCross}/lib"
"-Wl,${libpthreadCross.TARGET_LDFLAGS}"
]
else null;
passthru =
{ inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo version; isGNU = true; };
inherit enableParallelBuilding enableMultilib;
inherit (stdenv) is64bit;
meta = {
homepage = http://gcc.gnu.org/;
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
description = "GNU Compiler Collection, version ${version}"
+ (if stripped then "" else " (with debugging info)");
longDescription = ''
The GNU Compiler Collection includes compiler front ends for C, C++,
Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well
as libraries for these languages (libstdc++, libgcj, libgomp,...).
GCC development is a part of the GNU Project, aiming to improve the
compiler used in the GNU system including the GNU/Linux variant.
'';
maintainers = with stdenv.lib.maintainers; [ ];
# gnatboot is not available out of linux platforms, so we disable the darwin build
# for the gnat (ada compiler).
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
optionals (langAda == false) stdenv.lib.platforms.darwin;
};
}
// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
makeFlags = [ "all-gcc" "all-target-libgcc" ];
installTargets = "install-gcc install-target-libgcc";
}
# Strip kills static libs of other archs (hence cross != null)
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
)

View File

@ -0,0 +1,55 @@
{ stdenv, fetchurl, fetchgit, gambit, openssl, zlib, coreutils, rsync, bash }:
stdenv.mkDerivation rec {
name = "gerbil-${version}";
version = "0.10";
src = fetchurl {
url = "https://github.com/vyzo/gerbil/archive/v${version}.tar.gz";
sha256 = "14wzdnifr99g1mvm2xwks97nhaq62hfx43pxcw9gs647i7cymbly";
};
buildInputs = [ gambit openssl zlib coreutils rsync bash ];
postPatch = ''
patchShebangs .
find . -type f -executable -print0 | while IFS= read -r -d ''$'\0' f; do
substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env'
done
'';
buildPhase = ''
runHook preBuild
( cd src && sh build.sh )
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -fa bin lib etc doc $out/
cat > $out/bin/gxi <<EOF
#!${bash}/bin/bash -e
export GERBIL_HOME=$out
case "\$1" in -:*) GSIOPTIONS=\$1 ; shift ;; esac
if [[ \$# = 0 ]] ; then
${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init \$GERBIL_HOME/lib/gxi-interactive - ;
else
${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init "\$@"
fi
EOF
runHook postInstall
'';
dontStrip = true;
meta = {
description = "Gerbil";
homepage = "https://github.com/vyzo/gerbil";
license = stdenv.lib.licenses.lgpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ fare ];
};
}

View File

@ -32,17 +32,21 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python which swig ]; nativeBuildInputs = [ cmake python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ] buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc ]; ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
CXXFLAGS = "-fno-rtti"; CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
cmakeFlags = [
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
];
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A next-generation high-performance debugger"; description = "A next-generation high-performance debugger";
homepage = http://llvm.org/; homepage = http://llvm.org/;
license = licenses.ncsa; license = licenses.ncsa;
platforms = platforms.allBut platforms.darwin; platforms = platforms.all;
}; };
} }

View File

@ -274,9 +274,10 @@ let
#[[ -z "$libxml2" ]] || addToSearchPath PATH $libxml2/bin #[[ -z "$libxml2" ]] || addToSearchPath PATH $libxml2/bin
export EXTENSION_DIR=$out/lib/php/extensions
configureFlags+=(--with-config-file-path=$out/etc \ configureFlags+=(--with-config-file-path=$out/etc \
--includedir=$dev/include \ --includedir=$dev/include)
EXTENSION_DIR=$out/lib/php/extensions)
''; '';
configureFlags = [ configureFlags = [

View File

@ -33,11 +33,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "racket-${version}"; name = "racket-${version}";
version = "6.8"; version = "6.9";
src = fetchurl { src = fetchurl {
url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz"; url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
sha256 = "1l9z1a0r5zydr50cklx9xjw3l0pwnf64i10xq7112fl1r89q3qgv"; sha256 = "1cd218ee2ba1dc683de858a866c6666eb72a11adee8d1df6cdd59c5c5a47b714";
}; };
FONTCONFIG_FILE = fontsConf; FONTCONFIG_FILE = fontsConf;

View File

@ -0,0 +1,25 @@
{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
version = "1.12.0";
name = "half-${version}";
src = fetchzip {
url = "mirror://sourceforge/half/${version}/half-${version}.zip";
sha256 = "0096xiw8nj86vxnn3lfcl94vk9qbi5i8lnydri9ws358ly6002vc";
stripRoot = false;
};
buildCommand = ''
mkdir -p $out/include $out/share/doc
cp $src/include/half.hpp $out/include/
cp $src/{ChangeLog,LICENSE,README}.txt $out/share/doc/
'';
meta = with stdenv.lib; {
description = "C++ library for half precision floating point arithmetics";
platforms = platforms.all;
license = licenses.mit;
maintainers = [ maintainers.volth ];
};
}

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
re-inventing the wheel. re-inventing the wheel.
''; '';
homepage = http://netfilter.org/projects/libmnl/index.html; homepage = http://netfilter.org/projects/libmnl/index.html;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.lgpl21Plus;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, pkgconfig, libnfnetlink, libmnl }:
stdenv.mkDerivation rec {
name = "libnetfilter_log-${version}";
version = "1.0.1";
src = fetchurl {
url = "http://netfilter.org/projects/libnetfilter_log/files/${name}.tar.bz2";
sha256 = "089vjcfxl5qjqpswrbgklf4wflh44irmw6sk2k0kmfixfmszxq3l";
};
buildInputs = [ libmnl ];
propagatedBuildInputs = [ libnfnetlink ];
nativeBuildInputs = [ pkgconfig ];
meta = with stdenv.lib; {
description = "Userspace library providing interface to packets that have been logged by the kernel packet filter";
longDescription = ''
libnetfilter_log is a userspace library providing interface to packets
that have been logged by the kernel packet filter. It is is part of a
system that deprecates the old syslog/dmesg based packet logging. This
library has been previously known as libnfnetlink_log.
'';
homepage = http://netfilter.org/projects/libnetfilter_log/;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ orivej nckx ];
};
}

View File

@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
outputs = [ "bin" "dev" "out" "man" ]; outputs = [ "bin" "dev" "out" "man" ];
dontGzipMan = if stdenv.isDarwin then true else null; # not sure what's wrong
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Free TLS/SSL implementation"; description = "Free TLS/SSL implementation";
homepage = "http://www.libressl.org"; homepage = "http://www.libressl.org";

View File

@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper pkgconfig ]; nativeBuildInputs = [ makeWrapper pkgconfig ];
buildInputs = [ buildInputs = [
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
attr libxslt xhtml1 perlPackages.XMLXPath curl libpcap parted libxslt xhtml1 perlPackages.XMLXPath curl libpcap
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs
libapparmor libcap_ng numactl xen libapparmor libcap_ng numactl xen attr parted
] ++ optionals stdenv.isDarwin [ ] ++ optionals stdenv.isDarwin [
libiconv gmp libiconv gmp
]; ];
@ -50,7 +50,6 @@ stdenv.mkDerivation rec {
"--with-test" "--with-test"
"--with-esx" "--with-esx"
"--with-remote" "--with-remote"
"--with-storage-disk"
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
"--with-attr" "--with-attr"
"--with-apparmor" "--with-apparmor"
@ -59,6 +58,7 @@ stdenv.mkDerivation rec {
"--with-macvtap" "--with-macvtap"
"--with-virtualport" "--with-virtualport"
"--with-init-script=systemd+redhat" "--with-init-script=systemd+redhat"
"--with-storage-disk"
"--with-storage-zfs" "--with-storage-zfs"
] ++ optionals stdenv.isDarwin [ ] ++ optionals stdenv.isDarwin [
"--with-init-script=none" "--with-init-script=none"
@ -74,8 +74,8 @@ stdenv.mkDerivation rec {
substituteInPlace $out/libexec/libvirt-guests.sh \ substituteInPlace $out/libexec/libvirt-guests.sh \
--replace "$out/bin" "${gettext}/bin" \ --replace "$out/bin" "${gettext}/bin" \
--replace "lock/subsys" "lock" --replace "lock/subsys" "lock"
rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
'' + optionalString stdenv.isLinux '' '' + optionalString stdenv.isLinux ''
rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
wrapProgram $out/sbin/libvirtd \ wrapProgram $out/sbin/libvirtd \
--prefix PATH : ${makeBinPath [ iptables iproute pmutils numad numactl ]} --prefix PATH : ${makeBinPath [ iptables iproute pmutils numad numactl ]}
''; '';

View File

@ -1,11 +1,11 @@
{ lib, stdenv, fetchurl, unzip, tcl }: { lib, stdenv, fetchurl, unzip, tcl }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "sqlite3_analyzer-3.17.0"; name = "sqlite3_analyzer-3.19.2";
src = fetchurl { src = fetchurl {
url = "https://www.sqlite.org/2017/sqlite-src-3170000.zip"; url = "https://www.sqlite.org/2017/sqlite-src-3190200.zip";
sha256 = "1hs8nzk2pjr4fhhrwcyqwpa24gd4ndp6f0japykg5wfadgp4nxc6"; sha256 = "1hdbs41mdyyy641gix87pllsd29p8dim7gj4qvmiyfra2q5kg749";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -0,0 +1,42 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, result }:
let
pname = "cmdliner";
in
assert stdenv.lib.versionAtLeast ocaml.version "4.01.0";
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
version = "1.0.0";
src = fetchurl {
url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
sha256 = "1ryn7qis0izg0wcal8zdlikzzl689l75y6f4zc6blrm93y5agy9x";
};
unpackCmd = "tar xjf $src";
nativeBuildInputs = [ ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ result ];
createFindlibDestdir = true;
buildPhase = ''
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build
'';
installPhase = ''
opam-installer --script --prefix=$out | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
'';
meta = with stdenv.lib; {
homepage = http://erratique.ch/software/cmdliner;
description = "An OCaml module for the declarative definition of command line interfaces";
license = licenses.bsd3;
platforms = ocaml.meta.platforms or [];
maintainers = [ maintainers.vbgl ];
};
}

View File

@ -1,32 +1,29 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, result }: { stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam }:
let let
pname = "cmdliner"; pname = "cmdliner";
in in
assert stdenv.lib.versionAtLeast ocaml.version "4.01.0"; assert stdenv.lib.versionAtLeast ocaml.version "3.12";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}"; name = "ocaml-${pname}-${version}";
version = "1.0.0"; version = "0.9.8";
src = fetchurl { src = fetchurl {
url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz"; url = "http://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
sha256 = "1ryn7qis0izg0wcal8zdlikzzl689l75y6f4zc6blrm93y5agy9x"; sha256 = "0hdxlkgiwjml9dpaa80282a8350if7mc1m6yz2mrd7gci3fszykx";
}; };
unpackCmd = "tar xjf $src"; unpackCmd = "tar xjf $src";
nativeBuildInputs = [ ocamlbuild opam ];
nativeBuildInputs = [ ocamlbuild opam topkg ];
buildInputs = [ ocaml findlib ]; buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ result ];
createFindlibDestdir = true; createFindlibDestdir = true;
buildPhase = '' configurePhase = "ocaml pkg/git.ml";
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
'';
installPhase = '' installPhase = ''
opam-installer --script --prefix=$out | sh opam-installer --script --prefix=$out | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/ ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/

View File

@ -1,4 +1,4 @@
{ lib, janePackage, ocamlbuild, cryptokit, ctypes, magic-mime, { stdenv, lib, janePackage, ocamlbuild, cryptokit, ctypes, magic-mime,
ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith, ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith,
openssl }: openssl }:
@ -328,7 +328,7 @@ rec {
propagatedBuildInputs = [ core_kernel ]; propagatedBuildInputs = [ core_kernel ];
meta = { meta = {
description = "OCaml bindings for RE2"; description = "OCaml bindings for RE2";
platforms = lib.platforms.linux; broken = stdenv.isDarwin;
}; };
}; };
@ -348,7 +348,6 @@ rec {
''; '';
meta = { meta = {
description = "Jane Street Capital's standard library overlay"; description = "Jane Street Capital's standard library overlay";
inherit (re2.meta) platforms;
}; };
}; };
@ -416,7 +415,6 @@ rec {
propagatedBuildInputs = [ core_extended async ]; propagatedBuildInputs = [ core_extended async ];
meta = { meta = {
description = "Shell helpers for Async"; description = "Shell helpers for Async";
inherit (core_extended.meta) platforms;
}; };
}; };
@ -479,7 +477,6 @@ rec {
propagatedBuildInputs = [ core_extended ]; propagatedBuildInputs = [ core_extended ];
meta = { meta = {
description = "Micro-benchmarking library for OCaml"; description = "Micro-benchmarking library for OCaml";
inherit (core_extended.meta) platforms;
}; };
}; };
@ -489,7 +486,6 @@ rec {
propagatedBuildInputs = [ core_extended ]; propagatedBuildInputs = [ core_extended ];
meta = { meta = {
description = "Profiling library"; description = "Profiling library";
inherit (core_extended.meta) platforms;
}; };
}; };
@ -513,7 +509,6 @@ rec {
propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ]; propagatedBuildInputs = [ async core_extended cryptokit magic-mime ounit ];
meta = { meta = {
description = "E-mail message parser"; description = "E-mail message parser";
inherit (core_extended.meta) platforms;
}; };
}; };

View File

@ -0,0 +1,24 @@
{ lib , buildPythonPackage , fetchPypi, tkinter }:
buildPythonPackage rec {
pname = "Pmw";
version = "2.0.1";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "080iml3868nxniyn56kcwnbghm10j7fw74a5nj0s19sm4zsji78b";
};
propagatedBuildInputs = [ tkinter ];
# Disable tests due to their xserver requirement
doCheck = false;
meta = {
description = "A toolkit for building high-level compound widgets in Python using the Tkinter module";
homepage = "http://pmw.sourceforge.net/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mounium ];
};
}

View File

@ -1,5 +1,7 @@
{ buildPythonPackage { buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pythonOlder
, future
, numpy , numpy
, six , six
, scipy , scipy
@ -56,7 +58,8 @@ buildPythonPackage rec {
pycuda pycuda
cudatoolkit cudatoolkit
libgpuarray libgpuarray
] ++ (stdenv.lib.optional (cudnn != null) [ cudnn ]); cudnn
] ++ (stdenv.lib.optional (pythonOlder "3.0") future);
passthru.cudaSupport = true; passthru.cudaSupport = true;
} }

View File

@ -0,0 +1,33 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy33
, pythonOlder
, asyncio
, singledispatch
}:
buildPythonPackage rec {
pname = "aiofiles";
version = "0.3.1";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "6c4936cea65175277183553dbc27d08b286a24ae5bd86f44fbe485dfcf77a14a";
};
disabled = pythonOlder "3.3";
propagatedBuildInputs = lib.optionals isPy33 [ asyncio singledispatch ];
# No tests in archive
doCheck = false;
meta = {
description = "File support for asyncio";
homepage = https://github.com/Tinche/aiofiles;
license = with lib.licenses; [ asl20 ];
maintainer = with lib.maintainers; [ fridh ];
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchPypi, buildPythonPackage }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "colorama";
version = "0.3.9";
src = fetchPypi {
inherit pname version;
sha256 = "1wd1szk0z3073ghx26ynw43gnc140ibln1safgsis6s6z3s25ss8";
};
# No tests in archive
doCheck = false;
meta = with stdenv.lib; {
homepage = https://github.com/tartley/colorama;
license = licenses.bsd3;
description = "Cross-platform colored terminal text";
};
}

View File

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
, cloudpickle
, numpy
, toolz
, dill
, pandas
, partd
}:
buildPythonPackage rec {
pname = "dask";
version = "0.14.3";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "9bf007f9cedc08f73089f0621ff65ec0882fc0a834acef56830dfd2872908211";
};
checkInputs = [ pytest ];
propagatedBuildInputs = [ cloudpickle numpy toolz dill pandas partd ];
checkPhase = ''
py.test dask
'';
# URLError
doCheck = false;
meta = {
description = "Minimal task scheduling abstraction";
homepage = "http://github.com/ContinuumIO/dask/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fridh ];
};
}

View File

@ -21,12 +21,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ipython"; pname = "ipython";
version = "6.0.0"; version = "6.1.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "f429b82b8d9807068da734b15965768bd21b15d0b706340b6d1b4d6f6f5b98a4"; sha256 = "5c53e8ee4d4bec27879982b9f3b4aa2d6e3cfd7b26782d250fa117f85bb29814";
}; };
prePatch = lib.optionalString stdenv.isDarwin '' prePatch = lib.optionalString stdenv.isDarwin ''

View File

@ -0,0 +1,26 @@
{ stdenv, fetchPypi, buildPythonPackage, pytest_29 }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "libtmux";
version = "0.7.3";
src = fetchPypi {
inherit pname version;
sha256 = "111qbgq28za12la5b0aa9rr7hg8235zy0kyzzryn7fa6z3i5k5z8";
};
buildInputs = [ pytest_29 ];
patchPhase = ''
sed -i 's/==.*$//' requirements/test.txt
'';
meta = with stdenv.lib; {
description = "Scripting library for tmux";
homepage = https://libtmux.readthedocs.io/;
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ jgeerds ];
};
}

View File

@ -1,6 +1,7 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, pythonAtLeast
, nettools , nettools
, glibcLocales , glibcLocales
, autobahn , autobahn
@ -12,6 +13,10 @@
, tqdm , tqdm
, python , python
, mock , mock
, ipaddress
, humanize
, pyopenssl
, service-identity
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -26,7 +31,7 @@ buildPythonPackage rec {
checkInputs = [ mock ]; checkInputs = [ mock ];
buildInputs = [ nettools glibcLocales ]; buildInputs = [ nettools glibcLocales ];
propagatedBuildInputs = [ autobahn cffi click hkdf pynacl spake2 tqdm ]; propagatedBuildInputs = [ autobahn cffi click hkdf pynacl spake2 tqdm ipaddress humanize pyopenssl service-identity ];
postPatch = '' postPatch = ''
sed -i -e "s|'ifconfig'|'${nettools}/bin/ifconfig'|" src/wormhole/ipaddrs.py sed -i -e "s|'ifconfig'|'${nettools}/bin/ifconfig'|" src/wormhole/ipaddrs.py
@ -34,6 +39,8 @@ buildPythonPackage rec {
# XXX: disable one test due to warning: # XXX: disable one test due to warning:
# setlocale: LC_ALL: cannot change locale (en_US.UTF-8) # setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
sed -i -e "s|def test_text_subprocess|def skip_test_text_subprocess|" src/wormhole/test/test_scripts.py sed -i -e "s|def test_text_subprocess|def skip_test_text_subprocess|" src/wormhole/test/test_scripts.py
'' + lib.optionalString (pythonAtLeast "3.3") ''
sed -i -e 's|"ipaddress",||' setup.py
''; '';
checkPhase = '' checkPhase = ''

View File

@ -0,0 +1,52 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
, nose
, entrypoints
, bleach
, mistune
, jinja2
, pygments
, traitlets
, testpath
, jupyter_core
, nbformat
, nbconvert
, ipykernel
, pandocfilters
, tornado
, jupyter_client
}:
buildPythonPackage rec {
pname = "nbconvert";
version = "5.2.1";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "9ed68ec7fe90a8672b43795b29ea91cc75ea355c83debc83ebd12171521ec274";
};
checkInputs = [ nose pytest ];
propagatedBuildInputs = [
entrypoints bleach mistune jinja2 pygments traitlets testpath
jupyter_core nbformat ipykernel pandocfilters tornado jupyter_client
];
checkPhase = ''
nosetests -v
'';
# PermissionError. Likely due to being in a chroot
doCheck = false;
meta = {
description = "Converting Jupyter Notebooks";
homepage = http://jupyter.org/;
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fridh ];
};
}

View File

@ -0,0 +1,36 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
, glibcLocales
, ipython_genutils
, traitlets
, testpath
, jsonschema
, jupyter_core
}:
buildPythonPackage rec {
pname = "nbformat";
version = "4.3.0";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "5febcce872672f1c97569e89323992bdcb8573fdad703f835e6521253191478b";
};
LC_ALL="en_US.UTF-8";
checkInputs = [ pytest glibcLocales ];
propagatedBuildInputs = [ ipython_genutils traitlets testpath jsonschema jupyter_core ];
# Failing tests and permission issues
doCheck = false;
meta = {
description = "The Jupyter Notebook format";
homepage = "http://jupyter.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fridh ];
};
}

View File

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, mock
, pytest
, unittest2
, six
}:
buildPythonPackage rec {
pname = "ntlm-auth";
version = "1.0.3";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "jborean93";
repo = "ntlm-auth";
rev = "v${version}";
sha256 = "09f2g4ivfi9lh1kr30hlg0q4n2imnvmd79w83gza11q9nmhhiwpz";
};
checkInputs = [ mock pytest unittest2 ];
propagatedBuildInputs = [ six ];
# Functional tests require networking
checkPhase = ''
py.test --ignore=tests/functional/test_iis.py
'';
meta = with lib; {
description = "Calculates NTLM Authentication codes";
homepage = https://github.com/jborean93/ntlm-auth;
license = licenses.lgpl3;
maintainers = with maintainers; [ elasticdog ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
, mock
, pytest
, requests
, requests_ntlm
, six
, xmltodict
}:
buildPythonPackage rec {
pname = "pywinrm";
version = "0.2.2";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "06xc0mbqf718vmsp0fq0rb64nql66l5w2x23bmqnzl6nzc0gfc1h";
};
checkInputs = [ mock pytest ];
propagatedBuildInputs = [ requests requests_ntlm six xmltodict ];
meta = with lib; {
description = "Python library for Windows Remote Management";
homepage = "http://github.com/diyan/pywinrm/";
license = licenses.mit;
maintainers = with maintainers; [ elasticdog ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchPypi
, ntlm-auth
, requests
}:
buildPythonPackage rec {
pname = "requests_ntlm";
version = "1.0.0";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "0hb689p2jyb867c2wlq5mjkqxgc0jq6lxv3rmhw8rq9qangk3jjk";
};
propagatedBuildInputs = [ ntlm-auth requests ];
# Tests require networking
doCheck = false;
meta = with lib; {
description = "HTTP NTLM authentication support for python-requests";
homepage = https://github.com/requests/requests-ntlm;
license = licenses.isc;
maintainers = with maintainers; [ elasticdog ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,24 @@
{ stdenv, fetchPypi, buildPythonPackage, nose, numpy }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "uncertainties";
version = "3.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "de0765cac6911e5afa93ee941063a07b4a98dbd9c314c5eea4ab14bfff0054a4";
};
buildInputs = [ nose numpy ];
# No tests included
doCheck = false;
meta = with stdenv.lib; {
homepage = "http://pythonhosted.org/uncertainties/";
description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)";
maintainer = with maintainers; [ rnhmjoj ];
license = licenses.bsd3;
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ammonite-${version}"; name = "ammonite-${version}";
version = "0.9.5"; version = "0.9.6";
scalaVersion = "2.12"; scalaVersion = "2.12";
src = fetchurl { src = fetchurl {
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
sha256 = "1ni829qpdm5wflc1n827b9ywpv836r2068rmj9yd2nyh8b6q2him"; sha256 = "113h8i2i6mlm4f4r2wfj9bggg46lpvamdw3c112qji2y74iriljq";
}; };
propagatedBuildInputs = [ jre ] ; propagatedBuildInputs = [ jre ] ;

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
version = "3.1.5";
name = "randoop-${version}";
src = fetchurl {
url = "https://github.com/randoop/randoop/releases/download/v${version}/${name}.zip";
sha256 = "13zspyi9fgnqc90qfqqnj0hb7869l0aixv0vwgj8m4m1hggpadlx";
};
buildInputs = [ unzip ];
installPhase = ''
mkdir -p $out/lib $out/doc
cp -R *.jar $out/lib
cp README.txt $out/doc
'';
meta = with stdenv.lib; {
description = "Automatic test generation for Java";
homepage = https://randoop.github.io/randoop/;
license = licenses.mit;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jenkins-${version}"; name = "jenkins-${version}";
version = "2.62"; version = "2.63";
src = fetchurl { src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
sha256 = "1dqmvbl5sa82zsc03ns5i7ppjmdlg3pyk676xjxyr0p5ccbqlxxh"; sha256 = "024bzbca2ikk3904df4f8ri37qjq7nzzmg58jax8cbvcbxcik699";
}; };
buildCommand = '' buildCommand = ''

View File

@ -2,10 +2,10 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "pgcli-${version}"; name = "pgcli-${version}";
version = "1.5.1"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
sha256 = "1wp8pzi9hwz16fpcr0mq3ffydwdscfg5whhzc91757dw995sgl0s"; sha256 = "0f1zv4kwi2991pclf8chrhgjwf8jkqxdh5ndc9qx6igh56iyyncz";
rev = "v${version}"; rev = "v${version}";
repo = "pgcli"; repo = "pgcli";
owner = "dbcli"; owner = "dbcli";
@ -13,7 +13,8 @@ pythonPackages.buildPythonApplication rec {
buildInputs = with pythonPackages; [ pytest mock ]; buildInputs = with pythonPackages; [ pytest mock ];
checkPhase = '' checkPhase = ''
py.test tests -k 'not test_missing_rc_dir and not test_quoted_db_uri and not test_port_db_uri' mkdir /tmp/homeless-shelter
HOME=/tmp/homeless-shelter py.test tests -k 'not test_missing_rc_dir and not test_quoted_db_uri and not test_port_db_uri'
''; '';
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [

View File

@ -0,0 +1,37 @@
{ stdenv, fetchzip, ocaml, findlib, ocpBuild, opam, cmdliner }:
let inherit (stdenv.lib) getVersion versionAtLeast; in
assert versionAtLeast (getVersion ocaml) "3.12.1";
assert versionAtLeast (getVersion ocpBuild) "1.99.6-beta";
assert versionAtLeast "0.9.8" (getVersion cmdliner);
stdenv.mkDerivation {
name = "ocp-indent-1.5.2";
src = fetchzip {
url = "https://github.com/OCamlPro/ocp-indent/archive/1.5.2.tar.gz";
sha256 = "0ynv2yhm7akpvqp72pdabhddwr352s1k85q8m1khsvspgg1mkiqz";
};
nativeBuildInputs = [ ocpBuild opam ];
buildInputs = [ ocaml findlib cmdliner ];
createFindlibDestdir = true;
preConfigure = "patchShebangs ./install.sh";
postInstall = ''
mv $out/lib/{ocp-indent,ocaml/${getVersion ocaml}/site-lib/}
'';
meta = with stdenv.lib; {
homepage = "http://typerex.ocamlpro.com/ocp-indent.html";
description = "A customizable tool to indent OCaml code";
license = licenses.gpl3;
platforms = ocaml.meta.platforms or [];
maintainers = [ maintainers.jirkamarsik ];
};
}

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rtags-${version}"; name = "rtags-${version}";
version = "2.8-p1"; version = "2.10";
buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ] buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ]
++ lib.optionals stdenv.isDarwin [ apple_sdk.libs.xpc apple_sdk.frameworks.CoreServices ]; ++ lib.optionals stdenv.isDarwin [ apple_sdk.libs.xpc apple_sdk.frameworks.CoreServices ];
@ -12,12 +12,17 @@ stdenv.mkDerivation rec {
LIBCLANG_LIBDIR="${llvmPackages.clang.cc}/lib" LIBCLANG_LIBDIR="${llvmPackages.clang.cc}/lib"
''; '';
src = fetchgit { src = fetchgit {
# rev = "refs/tags/v${version}"; # TODO Renable if sha1 below is tagged as release rev = "refs/tags/v${version}";
rev = "f85bd60f00d51748ea159b00fda7b5bfa78ef571";
fetchSubmodules = true; fetchSubmodules = true;
url = "https://github.com/andersbakken/rtags.git"; url = "https://github.com/andersbakken/rtags.git";
sha256 = "0g9sgc763c5d695hjffhis19sbaqk8z4884szljf7kbrjxl17y78"; sha256 = "0rv5hz4cfc1adpxvp4j4227nfc0p0yrjdc6l9i32jj11p69a5401";
# unicode file names lead to different checksums on HFS+ vs. other
# filesystems because of unicode normalisation
postFetch = ''
rm $out/src/rct/tests/testfile_*.txt
'';
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, php }: { stdenv, lib, fetchurl, php }:
let let
version = "1.1.0"; version = "1.2.0";
bin = "bin/wp"; bin = "bin/wp";
ini = "etc/php/wp-cli.ini"; ini = "etc/php/wp-cli.ini";
@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar"; url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
sha256 = "08b2lzc8fa9f5xldbdza6x3lg6jsp3wfwpyy187gxqw5pmqp11xc"; sha256 = "1v51230gpw3ghz8vp3s1ykrwnmka9gj0r7xjad79bc9y250vr920";
}; };
buildCommand = '' buildCommand = ''

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, openssl, python2, zlib, libuv, v8, utillinux, http-parser
, pkgconfig, runCommand, which, libtool, fetchpatch
, callPackage
, darwin ? null
, enableNpm ? true
}@args:
let
nodejs = import ./nodejs.nix args;
baseName = if enableNpm then "nodejs" else "nodejs-slim";
in
stdenv.mkDerivation (nodejs // rec {
version = "8.0.0";
name = "${baseName}-${version}";
src = fetchurl {
url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
sha256 = "072g2zv58aa5zxs8fs9bdsi3mqklf2yj9mf58yjg5frbcfikm395";
};
patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
})

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gzdoom-${version}"; name = "gzdoom-${version}";
version = "3.0.1"; version = "3.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "coelckers"; owner = "coelckers";
repo = "gzdoom"; repo = "gzdoom";
rev = "g${version}"; rev = "g${version}";
sha256 = "0s0hl7pa2gr3cm884q7np5naybhv4hqhbfd3s45a8hdf72n6c9cm"; sha256 = "02287xvlk4a07ssm9y9h5vfsvdssshz13n5bbz13pfcani5d9flv";
}; };
nativeBuildInputs = [ cmake makeWrapper ]; nativeBuildInputs = [ cmake makeWrapper ];

View File

@ -2,6 +2,7 @@
, steam-runtime, steam-runtime-i686 ? null , steam-runtime, steam-runtime-i686 ? null
, withJava ? false , withJava ? false
, withPrimus ? false , withPrimus ? false
, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs
, nativeOnly ? false , nativeOnly ? false
, runtimeOnly ? false , runtimeOnly ? false
, newStdcpp ? false , newStdcpp ? false
@ -37,7 +38,8 @@ let
# Zoneinfo # Zoneinfo
etc-zoneinfo etc-zoneinfo
] ++ lib.optional withJava jdk ] ++ lib.optional withJava jdk
++ lib.optional withPrimus primus2; ++ lib.optional withPrimus primus2
++ extraPkgs pkgs;
in buildFHSUserEnv rec { in buildFHSUserEnv rec {
name = "steam"; name = "steam";

View File

@ -1,6 +1,7 @@
{ stdenv, fetchgit, pkgconfig, makeWrapper, python27, retroarch { stdenv, fetchgit, cmake, pkgconfig, makeWrapper, python27, retroarch
, alsaLib, fluidsynth, mesa, portaudio, SDL, ffmpeg, libpng, libjpeg , alsaLib, fluidsynth, curl, hidapi, mesa, gettext, glib, gtk2, portaudio, SDL
, libvorbis, zlib }: , ffmpeg, pcre, libevdev, libpng, libjpeg, libudev, libvorbis
, miniupnpc, sfml, xorg, zlib }:
let let
@ -10,7 +11,7 @@ let
stdenv.lib.makeOverridable stdenv.mkDerivation rec { stdenv.lib.makeOverridable stdenv.mkDerivation rec {
name = "libretro-${core}-${version}"; name = "libretro-${core}-${version}";
version = "2015-11-20"; version = "2017-06-04";
inherit src; inherit src;
buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or []; buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
@ -54,8 +55,8 @@ in
core = "4do"; core = "4do";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "cbd700e2bb95f08f241ca24330fa732aa6af8018"; rev = "52d881743dd8614d96b4de8bd153cb725b87d474";
sha256 = "1xp43hpd23rhj96pns13fz9mjp66gmxzl5frqa8q9fqcn2qkx7b1"; sha256 = "1n42f70vni2zavppayaq8xmsyx5cn40qi4zk4pgq1w3hh2q8mj72";
}; };
description = "Port of 4DO/libfreedo to libretro"; description = "Port of 4DO/libfreedo to libretro";
}).override { }).override {
@ -66,8 +67,8 @@ in
core = "mednafen-pce-fast"; core = "mednafen-pce-fast";
src = fetchRetro { src = fetchRetro {
repo = "beetle-pce-fast-libretro"; repo = "beetle-pce-fast-libretro";
rev = "6e2eaf75da2eb3dfcf2fd64413f471c8c90cf885"; rev = "2954e645d668ee73d93803dc30da4462fc7a459b";
sha256 = "0m946108wzawg0c4xvqpv6yzfmjngz6lji5hn4swgk0z5f2bj5a5"; sha256 = "0p0k7kqfd6xg1qh6vgzgwp122miprb2bpzljgxd9kvigxihsl6f7";
}; };
description = "Port of Mednafen's PC Engine core to libretro"; description = "Port of Mednafen's PC Engine core to libretro";
}).override { }).override {
@ -79,8 +80,8 @@ in
core = "mednafen-psx"; core = "mednafen-psx";
src = fetchRetro { src = fetchRetro {
repo = "beetle-psx-libretro"; repo = "beetle-psx-libretro";
rev = "20c9b0eb0062b8768cc40aca0e2b2d626f1002a2"; rev = "76862abefdde9097561e2b795e75b49247deff17";
sha256 = "192xzvdbjjqlxrnxxn45hmrr6yjpxw3gapkbax6nhrabnxhva43k"; sha256 = "1k4b7g50ajzchjrm6d3v68hvri4k3hzvacn2l99i5yq3hxp7vs7x";
}; };
description = "Port of Mednafen's PSX Engine core to libretro"; description = "Port of Mednafen's PSX Engine core to libretro";
}).override { }).override {
@ -92,8 +93,8 @@ in
core = "mednafen-saturn"; core = "mednafen-saturn";
src = fetchRetro { src = fetchRetro {
repo = "beetle-saturn-libretro"; repo = "beetle-saturn-libretro";
rev = "bb5d0c126feb25cf980f5cc1fc57d6a5a6f6e7ab"; rev = "3f1661b39ef249e105e6e2e655854ad0c87cd497";
sha256 = "0bnsdy27378b71y6aa65k4jxxy2xw6ky2ici3z53hkky2jnnjq0b"; sha256 = "1d1brysynwr6inlwfgv7gwkl3i9mf4lsaxd9wm2szw86g4diyn4c";
}; };
description = "Port of Mednafen's Saturn core to libretro"; description = "Port of Mednafen's Saturn core to libretro";
}).override { }).override {
@ -106,8 +107,8 @@ in
core = bname + "-accuracy"; core = bname + "-accuracy";
src = fetchRetro { src = fetchRetro {
repo = bname; repo = bname;
rev = "0bfe7f4f895af0927cec1c06dcae096b59416159"; rev = "e89c9a2e0a12d588366ee4f5c76b7d75139d938b";
sha256 = "0dmaa1vy6nfj9jk6xkvrbbcxa9j3f3zrp24zflnqbizc088vncb9"; sha256 = "0vkn1f38vwazpp3kbvvv8c467ghak6yfx00s48wkxwvhmak74a3s";
}; };
description = "Fork of bsnes with HLE DSP emulation restored"; description = "Fork of bsnes with HLE DSP emulation restored";
}).override { }).override {
@ -118,27 +119,55 @@ in
core = "desmume"; core = "desmume";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "cae5945149a72b1dc0b130d6e60e2690b88a925a"; rev = "ce1f93abb4c3aa55099f56298e5438a03a3c2bbd";
sha256 = "1qzlbw0vy87zi3w6hp5zj9dxdkj3qc9czjf41sj70irwyvqi0kii"; sha256 = "064gzfbr7yizmvi91ry5y6bzikj633kdqhvzycb9f1g6kspf8yyl";
}; };
description = "libretro wrapper for desmume NDS emulator"; description = "libretro wrapper for desmume NDS emulator";
}).override { }).override {
configurePhase = "cd desmume"; configurePhase = "cd desmume";
}; };
dolphin = (mkLibRetroCore {
core = "dolphin";
src = fetchRetro {
repo = "dolphin";
rev = "a6ad451fdd4ac8753fd1a8e2234ec34674677754";
sha256 = "1cshlfmhph8dl3vgvn37imvp2b7xs2cx1r1ifp5js5psvhycrbz3";
};
description = "Port of Dolphin to libretro";
extraBuildInputs = [
cmake curl mesa pcre pkgconfig sfml miniupnpc
gettext glib gtk2 hidapi
libevdev libudev
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil ]);
}).override {
cmakeFlags = [
"-DLINUX_LOCAL_DEV=true"
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
"-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
];
dontUseCmakeBuildDir = "yes";
buildPhase = ''
cd Source/Core/DolphinLibretro
make
'';
};
fba = (mkLibRetroCore rec { fba = (mkLibRetroCore rec {
core = "fba"; core = "fba";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "b642e054a1f581fbac16c08f4b8df9ab6c474203"; rev = "9146c18ac989c619256d1cb8954d49e728e44ea3";
sha256 = "0jxbzjhpyw1fzipm2ai2nv62vb0q5cb203m093vakr1zdsx7si2n"; sha256 = "159dww8mxi95xz4ypw38vsn1g4k6z8sv415qqf0qriydwhw6mh2m";
}; };
description = "Port of Final Burn Alpha to libretro"; description = "Port of Final Burn Alpha to libretro";
}).override { }).override {
buildPhase = '' buildPhase = ''
cd svn-current/trunk \ cd svn-current/trunk \
&& make -f makefile.libretro \ && make -f makefile.libretro \
&& mv fb_alpha_libretro.so fba_libretro.so && mv fbalpha2012_libretro.so fba_libretro.so
''; '';
}; };
@ -146,30 +175,28 @@ in
core = "fceumm"; core = "fceumm";
src = fetchRetro { src = fetchRetro {
repo = "libretro-" + core; repo = "libretro-" + core;
rev = "eb19d48804ebeb381b20e74db7033c321f6b6d04"; rev = "45f773a1c221121746bbe2680e3aaaf92776a87e";
sha256 = "18wm6yzwshqfkd75kkcv035p1s2yhnchn98bcn9aj15aw5qyhvd4"; sha256 = "0jnwh1338q710x47bzrx319g5xbq9ipv35kyjlbkrzhqjq1blz0b";
}; };
description = "FCEUmm libretro port"; description = "FCEUmm libretro port";
}; };
gambatte = (mkLibRetroCore rec { gambatte = mkLibRetroCore rec {
core = "gambatte"; core = "gambatte";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "59fb6a652e0de3c3a3b29e58af5ac035958da37e"; rev = "db7af6cf6ea39fd5e39eea137ff752649599a4e4";
sha256 = "0n2416lgqbzah1q3ji1hhpcdi9h29563gz739kf9libmnz86vd6f"; sha256 = "0h7hyj630nk1s32wx02y4q9x2lp6wbnh6nkc9ihf4pygcsignmwr";
}; };
description = "Gambatte libretro port"; description = "Gambatte libretro port";
}).override {
configurePhase = "cd libgambatte";
}; };
genesis-plus-gx = mkLibRetroCore rec { genesis-plus-gx = mkLibRetroCore rec {
core = "genesis-plus-gx"; core = "genesis-plus-gx";
src = fetchRetro { src = fetchRetro {
repo = "Genesis-Plus-GX"; repo = "Genesis-Plus-GX";
rev = "7d8d5f1026af8cfd00cdf32c67a999bd1e454a09"; rev = "365a28c7349b691e6aaa3ad59b055261c42bd130";
sha256 = "16jm97h66bb2sqlimjlks31sapb23x4q8sr16wdqn1xgi670xw3c"; sha256 = "0s11ddpnb44q4xjkl7dylldhi9y5zqywqavpk0bbwyj84r1cbz3c";
}; };
description = "Enhanced Genesis Plus libretro port"; description = "Enhanced Genesis Plus libretro port";
}; };
@ -178,20 +205,20 @@ in
core = "mame"; core = "mame";
src = fetchRetro { src = fetchRetro {
repo = "mame"; repo = "mame";
rev = "8da2303292bb8530f9f4ffad8bf1df95ee4cab74"; rev = "9f8a36adeb4dc54ec2ecac992ce91bcdb377519e";
sha256 = "0afsxsm1d4x9jn28qz6v47hhnp7q9i0yqk62i4lk4d7i7m4dq5j9"; sha256 = "0blfvq28hgv9kkpijd8c9d9sa5g2qr448clwi7wrj8kqfdnrr8m1";
}; };
description = "Port of MAME to libretro"; description = "Port of MAME to libretro";
extraBuildInputs = [ alsaLib portaudio python27 ]; extraBuildInputs = [ alsaLib mesa portaudio python27 xorg.libX11 ];
}; };
mgba = mkLibRetroCore rec { mgba = mkLibRetroCore rec {
core = "mgba"; core = "mgba";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "4000128339b535896615c994cafcd777637573f4"; rev = "fdaaaee661e59f28c94c7cfa4e82e70b71e24a9d";
sha256 = "1yar78rvgfqx7jdna9chkmmbnpcf7k9ckbzj506f7k7m7zv819fn"; sha256 = "1b30sa861r4bhbqkx6vkklh4iy625bpzki2ks4ivvjns1ijczvc7";
}; };
description = "Port of mGBA to libretro"; description = "Port of mGBA to libretro";
}; };
@ -200,12 +227,12 @@ in
core = "mupen64plus"; core = "mupen64plus";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "7db9296453629a44de806589f3ff64e824e775ad"; rev = "407bcd40b3a42bff6b856a6d6f88a7d5d670bf9e";
sha256 = "075lpmwmj99yf9d9905x7apawd4bqz0whr37mh2fgr3jf730yiyl"; sha256 = "0q5kvjz7rpk7mp75cdywqjgmy10c0h7ky26hh1x90d39y94idcd8";
}; };
description = "Libretro port of Mupen64 Plus, GL only"; description = "Libretro port of Mupen64 Plus, GL only";
extraBuildInputs = [ mesa ]; extraBuildInputs = [ mesa libpng ];
}).override { }).override {
buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}"; buildPhase = "make WITH_DYNAREC=${if stdenv.system == "x86_64-linux" then "x86_64" else "x86"}";
}; };
@ -214,8 +241,8 @@ in
core = "nestopia"; core = "nestopia";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "dcaed965760669161d6fd44755887545ea393041"; rev = "ecfa170a582e5b8ec11225ca645843fa064955ca";
sha256 = "03fy5hb181ffx8sk9wmm415k084zqqhfqga4crgc7hdqi16s3r5v"; sha256 = "17ac7dhasch6f4lpill8c5scsvaix0jvbf1cp797qbll4hk84f2q";
}; };
description = "nestopia undead libretro port"; description = "nestopia undead libretro port";
}).override { }).override {
@ -226,8 +253,8 @@ in
core = "picodrive"; core = "picodrive";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "e912fdf26376bfa5d7d6488055fe6fdbd13c2e49"; rev = "cbc93b68dca1d72882d07b54bbe1ef25b980558a";
sha256 = "1mi36y8kx6s76cgygpj11zw35p44gd66mxygmxliz7k6xsd7ww41"; sha256 = "0fl9r6jj2x9231md5zc4scra79j5hfn1n2z67scff1375xg1k64h";
}; };
description = "Fast MegaDrive/MegaCD/32X emulator"; description = "Fast MegaDrive/MegaCD/32X emulator";
@ -241,8 +268,8 @@ in
core = "ppsspp"; core = "ppsspp";
src = fetchRetro { src = fetchRetro {
repo = "libretro-" + core; repo = "libretro-" + core;
rev = "ea17e27fcf16b9f875718b6550fe7145c6257c06"; rev = "5f7bcf7bfc15f83d405bcecd7a163a55ad1e7573";
sha256 = "0w5njj5pamqc4a022hdplb7vapwkf34ad1w4acz3c8b05vkl457d"; sha256 = "06k1gzmypz61dslynrw4b5i161rhj43y6wnr2nhbzvwcv5bw8w8r";
}; };
description = "ppsspp libretro port"; description = "ppsspp libretro port";
extraBuildInputs = [ mesa ffmpeg ]; extraBuildInputs = [ mesa ffmpeg ];
@ -254,8 +281,8 @@ in
core = "prboom"; core = "prboom";
src = fetchRetro { src = fetchRetro {
repo = "libretro-" + core; repo = "libretro-" + core;
rev = "90ad0db331c53e8851581e1547b7377fb9fffe5b"; rev = "4c690eb6b569a276c5b2a87680718f715477eae2";
sha256 = "0jk73nakrs9jxj3d0dmjs0csskjhddn8a4sky3mpk9vp30csx0ll"; sha256 = "02vkl3y5dmyzifsviphspqv03a2rdyf36zpjpgfg7x0s226f56ja";
}; };
description = "Prboom libretro port"; description = "Prboom libretro port";
}).override { }).override {
@ -266,8 +293,8 @@ in
core = "quicknes"; core = "quicknes";
src = fetchRetro { src = fetchRetro {
repo = "QuickNES_Core"; repo = "QuickNES_Core";
rev = "518638b8064c9d0cb1b5aa29d96419f8528c9de5"; rev = "8613b48cee97f1472145bbafa76e543854b2bbd5";
sha256 = "0jv1z65m4j3hbfnb3chklh0dhwlc4gdqr0asswdsc1y4iwp0331c"; sha256 = "18lizdb9zjlfhh8ibvmcscldlf3mw4aj8nds3pah68cd2lw170w1";
}; };
description = "QuickNES libretro port"; description = "QuickNES libretro port";
}).override { }).override {
@ -278,8 +305,8 @@ in
core = "reicast"; core = "reicast";
src = fetchRetro { src = fetchRetro {
repo = core + "-emulator"; repo = core + "-emulator";
rev = "ed47c72cf2e124d9d753285fd61d12ea8e071d0d"; rev = "40d4e8af2dd67a3f317c14224873c8ec0e1f9d11";
sha256 = "05dw7qjnprf1lw3ps0sb7sp73hsh1a27rxbwjqd26j85zr84g3r9"; sha256 = "0d8wzpv7pcyh437gmvi439vim26wyrjmi5hj97wvyvggywjwrx8m";
}; };
description = "Reicast libretro port"; description = "Reicast libretro port";
extraBuildInputs = [ mesa ]; extraBuildInputs = [ mesa ];
@ -291,8 +318,8 @@ in
core = "scummvm"; core = "scummvm";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "c3e719acc08c1873609bab3578939b7c9e606511"; rev = "de8d7e58caa23f071ce9d1bc5133f45d16c3ff1c";
sha256 = "03wvffy3h62qc7f3d8042wd234m8ikd843ggp903y285sgh54r9y"; sha256 = "097i2dq3hw14hicsplrs36j1qa3r45vhzny5v4aw6qw4aj34hksy";
}; };
description = "Libretro port of ScummVM"; description = "Libretro port of ScummVM";
extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ]; extraBuildInputs = [ fluidsynth libjpeg libvorbis mesa SDL ];
@ -304,30 +331,35 @@ in
core = "snes9x"; core = "snes9x";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "ccf1ee2eae73ed1e4044c8dd9536dd4ac1be6d8b"; rev = "db4bfaba3b0d5a067fe9aea323503656837a8d9a";
sha256 = "1bwjk817m8v69s13fc9kcj605ig6707rsj57wmz2ri2ggmydhvcb"; sha256 = "02f04ss45km32lp68diyfkix1gryx89qy8cc80189ipwnx80pgip";
}; };
description = "Port of SNES9x git to libretro"; description = "Port of SNES9x git to libretro";
}).override { }).override {
buildPhase = "cd libretro && make"; buildPhase = "cd libretro && make";
}; };
snes9x-next = mkLibRetroCore rec { snes9x-next = (mkLibRetroCore rec {
core = "snes9x-next"; core = "snes9x-next";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "dfb7eef46d6bc2dbcc98f25e2bfadc9d2cff5cfd"; rev = "b2a69de0df1eb39ed362806f9c9633f4544272af";
sha256 = "0vdfjdwr6b5izh3gy63lcfnrdvr99qhlqfibjw4mmyqk9gkjrwm8"; sha256 = "1vhgsrg9l562nincfvpj2h2dqkkblg1qmh0v47jqlqgmgl2b1zij";
}; };
description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
}).override {
buildPhase = ''
make -f Makefile.libretro
mv snes9x2010_libretro.so snes9x_next_libretro.so
'';
}; };
stella = (mkLibRetroCore rec { stella = (mkLibRetroCore rec {
core = "stella"; core = "stella";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "ada5c57d632ace0ba915ce7a470d504a5d89ebcc"; rev = "bbe65db0e344dcb38905586bd853076b65963e5a";
sha256 = "090isch1l5hm07l22l8hja31cdiaxc0vgc3i01qs8zgdyvsx4vvg"; sha256 = "18r1yyfzvjq2hq04d94y37kzsq6aywh1aim69a3imk8kh46gwrh0";
}; };
description = "Port of Stella to libretro"; description = "Port of Stella to libretro";
}).override { }).override {
@ -338,8 +370,8 @@ in
core = "vba-next"; core = "vba-next";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "0c20cd92bc8684340d7a1bcae14a603001ad5e4a"; rev = "e7734756d228ea604f8fa872cea1bba987780791";
sha256 = "016vm2xyjfkkcqkqfw3n09if4bxxppk3g6p92waa9bv2ni4xli69"; sha256 = "03s4rh7dbbhbfc4pfdvr9jcbxrp4ijg8yp49s1xhr7sxsblj2vpv";
}; };
description = "VBA-M libretro port with modifications for speed"; description = "VBA-M libretro port with modifications for speed";
}; };
@ -348,8 +380,8 @@ in
core = "vbam"; core = "vbam";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "bedddba614bc4fcbcf5b0d8565f94619b094c20c"; rev = "1b82fc2d761f027567632692f787482d1e287ec2";
sha256 = "1hvq4wsznb2vzg11iqmy5dnfjpiga368p1lmsx9d7ci7dcqyw7wy"; sha256 = "043djmqvh2grc25hwjw4b5kfx57b89ryp6fcl8v632sm35l3dd6z";
}; };
description = "vanilla VBA-M libretro port"; description = "vanilla VBA-M libretro port";
}).override { }).override {

View File

@ -23,12 +23,12 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "retroarch-bare-${version}"; name = "retroarch-bare-${version}";
version = "1.3.4"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "libretro"; owner = "libretro";
repo = "RetroArch"; repo = "RetroArch";
sha256 = "0ccp17580w0884baxj5kcynlm03jgd7i62dprz1ajxbi2s7b3mi3"; sha256 = "1ym2kws58fbavkc3giz5xqaqiqqdbf7wrz7y7iw53p1bnkc3l8yi";
rev = "v${version}"; rev = "v${version}";
}; };

View File

@ -91,9 +91,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
((map (links "share/wine/gecko") geckos) ((map (links "share/wine/gecko") geckos)
++ (map (links "share/wine/mono") monos))} ++ (map (links "share/wine/mono") monos))}
'' + lib.optionalString supportFlags.gstreamerSupport '' '' + lib.optionalString supportFlags.gstreamerSupport ''
wrapProgram "$out/bin/wine" \ for i in wine wine64; do
if [ -e "$out/bin/$i" ]; then
wrapProgram "$out/bin/$i" \
--argv0 "" \ --argv0 "" \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0" --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
fi
done
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -3,10 +3,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xlockmore-5.53"; name = "xlockmore-5.54";
src = fetchurl { src = fetchurl {
url = "http://sillycycle.com/xlock/${name}.tar.xz"; url = "http://sillycycle.com/xlock/${name}.tar.xz";
sha256 = "0rs9vc22xgk9gi88ifimdyrhqfjgs2jybwr9kvklg5qx7ff6aws9"; sha256 = "0mdgl20619iii1i04pj2dq29nwvasbngy48cvd819h0wfawsqkwz";
curlOpts = "--user-agent 'Mozilla/5.0'"; curlOpts = "--user-agent 'Mozilla/5.0'";
}; };

View File

@ -2,14 +2,14 @@
flex, bison, elfutils, python, pythonPackages, luajit, netperf, iperf }: flex, bison, elfutils, python, pythonPackages, luajit, netperf, iperf }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.2.0"; version = "0.3.0";
name = "bcc-${version}"; name = "bcc-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "iovisor"; owner = "iovisor";
repo = "bcc"; repo = "bcc";
rev = "v${version}"; rev = "v${version}";
sha256 = "1xifh8lcqmn4mk6w4srjf4zk6mlwgck4fpcyhhliy39963ch5k08"; sha256 = "19lkqmilfjmj7bnhxlacd0waa5db8gf4lng12fy2zgji0d77vm1d";
}; };
buildInputs = [ makeWrapper cmake llvmPackages.llvm llvmPackages.clang-unwrapped kernel buildInputs = [ makeWrapper cmake llvmPackages.llvm llvmPackages.clang-unwrapped kernel

View File

@ -27,6 +27,8 @@ stdenv.mkDerivation {
./linux-4.7.patch ./linux-4.7.patch
# source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms # source: https://git.archlinux.org/svntogit/community.git/tree/trunk/004-linux48.patch?h=packages/broadcom-wl-dkms
./linux-4.8.patch ./linux-4.8.patch
# source: https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl
./linux-4.11.patch
./null-pointer-fix.patch ./null-pointer-fix.patch
./gcc.patch ./gcc.patch
]; ];

View File

@ -0,0 +1,52 @@
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
index a9671e2..da36405 100644
--- a/src/wl/sys/wl_cfg80211_hybrid.c
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
@@ -30,6 +30,9 @@
#include <linux/kthread.h>
#include <linux/netdevice.h>
#include <linux/ieee80211.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+#include <linux/sched/signal.h>
+#endif
#include <net/cfg80211.h>
#include <linux/nl80211.h>
#include <net/rtnetlink.h>
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
index 489c9f5..f8278ad 100644
--- a/src/wl/sys/wl_linux.c
+++ b/src/wl/sys/wl_linux.c
@@ -117,6 +117,9 @@ int wl_found = 0;
typedef struct priv_link {
wl_if_t *wlif;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ unsigned long last_rx;
+#endif
} priv_link_t;
#define WL_DEV_IF(dev) ((wl_if_t*)((priv_link_t*)DEV_PRIV(dev))->wlif)
@@ -2450,6 +2453,9 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
{
struct sk_buff *oskb = (struct sk_buff *)p;
struct sk_buff *skb;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ priv_link_t *priv_link;
+#endif
uchar *pdata;
uint len;
@@ -2916,7 +2922,13 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
if (skb == NULL) return;
skb->dev = wl->monitor_dev;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+ priv_link = MALLOC(wl->osh, sizeof(priv_link_t));
+ priv_link = netdev_priv(skb->dev);
+ priv_link->last_rx = jiffies;
+#else
skb->dev->last_rx = jiffies;
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
skb_reset_mac_header(skb);
#else

View File

@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
sha256 = "1h3f9nkc5fkvks6va0maq377m9qxnsf4q3f2dc14rdzfvnzidy06"; sha256 = "1h3f9nkc5fkvks6va0maq377m9qxnsf4q3f2dc14rdzfvnzidy06";
}; };
patches = [
(fetchpatch {
# Sysdig fails to run on linux kernels with unified cgroups enabled
url = https://github.com/draios/sysdig/files/909689/0001-Fix-for-linux-kernels-with-cgroup-v2-API-enabled.patch.txt;
sha256 = "10nmisifa500hzpa3899rs837bcal72pnqidxmrnr1js187z8j84";
})
];
buildInputs = [ buildInputs = [
cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl jq gcc cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl jq gcc
]; ];

View File

@ -1,18 +1,23 @@
{ stdenv, fetchurl, zsh, pinentry, cryptsetup, gnupg1orig, makeWrapper }: { stdenv, lib, fetchFromGitHub, gettext, zsh, pinentry, cryptsetup, gnupg, makeWrapper }:
let
version = "2.4";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tomb-${version}"; name = "tomb-${version}";
version = "2.4";
src = fetchurl { src = fetchFromGitHub {
url = "https://files.dyne.org/tomb/Tomb-${version}.tar.gz"; owner = "dyne";
sha256 = "1hv1w79as7swqj0n137vz8n8mwvcgwlvd91sdyssz41jarg7f1vr"; repo = "Tomb";
rev = "v${version}";
sha256 = "192jpgn02mvi4d4inbq2q11zl7xw6njymvali7al8wmygkkycrw4";
}; };
buildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
postPatch = ''
# if not, it shows .tomb-wrapped when running
substituteInPlace tomb \
--replace 'TOMBEXEC=$0' 'TOMBEXEC=tomb'
'';
buildPhase = '' buildPhase = ''
# manually patch the interpreter # manually patch the interpreter
@ -20,22 +25,21 @@ stdenv.mkDerivation rec {
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/bin install -Dm755 tomb $out/bin/tomb
mkdir -p $out/share/man/man1 install -Dm644 doc/tomb.1 $out/share/man/man1/tomb.1
cp tomb $out/bin/tomb # it works fine with gnupg v2, but it looks for an executable named gpg
cp doc/tomb.1 $out/share/man/man1 ln -s ${gnupg}/bin/gpg2 $out/bin/gpg
wrapProgram $out/bin/tomb \ wrapProgram $out/bin/tomb \
--prefix PATH : "${pinentry}/bin" \ --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext pinentry ]}
--prefix PATH : "${cryptsetup}/bin" \
--prefix PATH : "${gnupg1orig}/bin"
''; '';
meta = { meta = with stdenv.lib; {
description = "File encryption on GNU/Linux"; description = "File encryption on GNU/Linux";
homepage = https://www.dyne.org/software/tomb/; homepage = https://www.dyne.org/software/tomb/;
license = stdenv.lib.licenses.gpl3; license = licenses.gpl3;
platforms = stdenv.lib.platforms.linux; maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
}; };
} }

View File

@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.10";
let let
name = "wireguard-${version}"; name = "wireguard-${version}";
version = "0.0.20170517"; version = "0.0.20170531";
src = fetchurl { src = fetchurl {
url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz"; url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
sha256 = "7303e973654a3585039f4789e89a562f807f0d6010c7787b9b69ca72aa7a6908"; sha256 = "1k6asxx7qzmxasvdwkvlalvav643fqfbndv80vjkbjqxy6mdkdrf";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,32 @@
{ lib, buildGoPackage, fetchFromGitHub }:
let version = "2.4.1"; in
buildGoPackage rec {
name = "dex-${version}";
goPackagePath = "github.com/coreos/dex";
src = fetchFromGitHub {
rev = "v${version}";
owner = "coreos";
repo = "dex";
sha256 = "11qpn3wh74mq16xgl9l50n2v02ffqcd14xccf77j5il04xr764nx";
};
subPackages = [
"cmd/dex"
];
buildFlagsArray = [
"-ldflags=-w -X ${goPackagePath}/version.Version=${src.rev}"
];
meta = {
description = "OpenID Connect and OAuth2 identity provider with pluggable connectors";
license = lib.licenses.asl20;
homepage = https://github.com/coreos/dex;
maintainers = with lib.maintainers; [benley];
platforms = lib.platforms.unix;
};
}

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "groonga-${version}"; name = "groonga-${version}";
version = "7.0.0"; version = "7.0.3";
src = fetchurl { src = fetchurl {
url = "http://packages.groonga.org/source/groonga/${name}.tar.gz"; url = "http://packages.groonga.org/source/groonga/${name}.tar.gz";
sha256 = "0c3vzw2ias0xpz1hwywlib1qqfjvvzwj1zggswd5l2cj87f1krfd"; sha256 = "17pp4sbfa6wpiiiqvdbnvd1qxrchmj7zh27zdrmmnbvwpyc5g2n6";
}; };
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;

View File

@ -34,7 +34,7 @@ let pythonPlugin = pkg : lib.nameValuePair "python${if pkg ? isPy2 then "2" else
# usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx # usage: https://uwsgi-docs.readthedocs.io/en/latest/PHP.html#running-php-apps-with-nginx
path = "plugins/php"; path = "plugins/php";
preBuild = "touch unix.h"; preBuild = "touch unix.h";
inputs = [ php-embed php-embed.nativeBuildInputs ]; inputs = [ php-embed ] ++ php-embed.buildInputs;
}) })
]; ];

View File

@ -8,6 +8,5 @@ janePackage {
buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre ]; buildInputs = [ core_extended expect_test_helpers patience_diff ocaml_pcre ];
meta = { meta = {
description = "File Diff using the Patience Diff algorithm"; description = "File Diff using the Patience Diff algorithm";
inherit (core_extended.meta) platforms;
}; };
} }

View File

@ -2,16 +2,17 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qt5ct-${version}"; name = "qt5ct-${version}";
version = "0.30"; version = "0.32";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2"; url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2";
sha256 = "1k0ywd440qvf84chadjb4fnkn8dkfl56cc3a6wqg6a59drslvng6"; sha256 = "0gzmqx6j8g8vgdg5sazfw31h825jdsjbkj8lk167msvahxgrf0fm";
}; };
buildInputs = [ qtbase qtsvg ];
nativeBuildInputs = [ makeQtWrapper qmakeHook qttools ]; nativeBuildInputs = [ makeQtWrapper qmakeHook qttools ];
buildInputs = [ qtbase qtsvg ];
preConfigure = '' preConfigure = ''
qmakeFlags="$qmakeFlags PLUGINDIR=$out/lib/qt5/plugins" qmakeFlags="$qmakeFlags PLUGINDIR=$out/lib/qt5/plugins"
''; '';

View File

@ -2,17 +2,17 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "tmuxp-${version}"; name = "tmuxp-${version}";
version = "1.2.7"; version = "1.3.1";
namePrefix = ""; namePrefix = "";
src = fetchurl { src = fetchurl {
url = "mirror://pypi/t/tmuxp/${name}.tar.gz"; url = "mirror://pypi/t/tmuxp/${name}.tar.gz";
sha256 = "19s17frgyjvyvmr16fs0gl5mnbaxbmdffmkckadwhd5mg0pz2i4s"; sha256 = "189mxnb2pxj3wjijn56j8y5x1r23fil00fn2q7d6bd13vgr0f85s";
}; };
patchPhase = '' patchPhase = ''
sed -i 's/==.*$//' requirements/test.txt sed -i 's/==.*$//' requirements/base.txt requirements/test.txt
''; '';
buildInputs = with pythonPackages; [ buildInputs = with pythonPackages; [

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, coreutils { stdenv, fetchFromGitHub, fetchpatch, coreutils
, python3, python3Packages, substituteAll }: , python3, python3Packages, substituteAll }:
assert stdenv.isLinux; assert stdenv.isLinux;
@ -21,6 +21,12 @@ python3Packages.buildPythonApplication rec {
df = "${coreutils}/bin/df"; df = "${coreutils}/bin/df";
libc = "${stdenv.cc.libc.out}/lib/libc.so.6"; libc = "${stdenv.cc.libc.out}/lib/libc.so.6";
}) })
# Fix build on Python 3.6.
(fetchpatch {
url = "https://github.com/andreafrancia/trash-cli/commit/a21b80d1e69783bb09376c3f60dd2f2a10578805.patch";
sha256 = "0w49rjh433sjfc2cl5a9wlbr6kcn9f1qg905qsyv7ay3ar75wvyp";
})
]; ];
buildInputs = with python3Packages; [ nose mock ]; buildInputs = with python3Packages; [ nose mock ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, buildPythonApplication { stdenv, fetchurl, buildPythonApplication
, zip, ffmpeg, rtmpdump, atomicparsley, pandoc , zip, ffmpeg, rtmpdump, atomicparsley, pycryptodome, pandoc
# Pandoc is required to build the package's man page. Release tarballs contain a # Pandoc is required to build the package's man page. Release tarballs contain a
# formatted man page already, though, it will still be installed. We keep the # formatted man page already, though, it will still be installed. We keep the
# manpage argument in place in case someone wants to use this derivation to # manpage argument in place in case someone wants to use this derivation to
@ -8,21 +8,23 @@
, generateManPage ? false , generateManPage ? false
, ffmpegSupport ? true , ffmpegSupport ? true
, rtmpSupport ? true , rtmpSupport ? true
, hlsEncryptedSupport ? true
, makeWrapper }: , makeWrapper }:
with stdenv.lib; with stdenv.lib;
buildPythonApplication rec { buildPythonApplication rec {
name = "youtube-dl-${version}"; name = "youtube-dl-${version}";
version = "2017.05.23"; version = "2017.05.29";
src = fetchurl { src = fetchurl {
url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz"; url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
sha256 = "1na2ccja8p18i3ypf7vjrxlh653906746l966fwm06b5q6867iwd"; sha256 = "11zh0h4hwwx39iv6qbkqbvf5a5mgj71ngj2kp7zmq7g0qh37x9rx";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ zip ] ++ optional generateManPage pandoc; buildInputs = [ zip ] ++ optional generateManPage pandoc;
propagatedBuildInputs = optional hlsEncryptedSupport pycryptodome;
# Ensure ffmpeg is available in $PATH for post-processing & transcoding support. # Ensure ffmpeg is available in $PATH for post-processing & transcoding support.
# rtmpdump is required to download files over RTMP # rtmpdump is required to download files over RTMP

View File

@ -1,11 +1,5 @@
{ stdenv, fetchFromGitHub, pythonPackages { stdenv, fetchFromGitHub, pythonPackages
, sysstat, unzip, makeWrapper , sysstat, unzip, makeWrapper }:
# We need extraBuildInputs as we want to be able to override this
# package with python packages _and_ have the produced binaries
# wrapper with their PYTHONPATH. This means overrideAttrs is not
# strong enough (it overrides too late), we need to call it
# beforehand.
, extraBuildInputs ? [ pythonPackages.psutil ] }:
let let
inherit (pythonPackages) python; inherit (pythonPackages) python;
docker_1_10 = pythonPackages.buildPythonPackage rec { docker_1_10 = pythonPackages.buildPythonPackage rec {
@ -32,42 +26,33 @@ let
# due to flake8 # due to flake8
doCheck = false; doCheck = false;
}; };
version = "5.13.2";
integrations = fetchFromGitHub {
owner = "datadog";
repo = "integrations-core";
rev = version;
sha256 = "1nbjmkq0wdfndmx0qap69h2rkwkkb0632j87h9d3j99bykyav3y3";
};
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "5.11.2";
name = "dd-agent-${version}"; name = "dd-agent-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "datadog"; owner = "datadog";
repo = "dd-agent"; repo = "dd-agent";
rev = version; rev = version;
sha256 = "0x2bxi70l2yf0wi232qksvcscjdpjg8l7dmgg1286vqryyfazfjb"; sha256 = "1iqxvgpsqibqw3vk79158l2pnb6y4pjhjp2d6724lm5rpz4825lx";
}; };
buildInputs = [ buildInputs = [
python python
unzip unzip
makeWrapper makeWrapper
pythonPackages.boto
docker_1_10
pythonPackages.kazoo
pythonPackages.ntplib
pythonPackages.consul
pythonPackages.python-etcd
pythonPackages.pyyaml
pythonPackages.requests pythonPackages.requests
pythonPackages.psycopg2
pythonPackages.psutil
pythonPackages.ntplib
pythonPackages.simplejson pythonPackages.simplejson
pythonPackages.supervisor pythonPackages.pyyaml
pythonPackages.tornado pythonPackages.pymongo_2_9_1
pythonPackages.uptime pythonPackages.python-etcd
] ++ extraBuildInputs; pythonPackages.consul
docker_1_10
];
propagatedBuildInputs = with pythonPackages; [ python tornado ]; propagatedBuildInputs = with pythonPackages; [ python tornado ];
buildCommand = '' buildCommand = ''
@ -82,24 +67,6 @@ in stdenv.mkDerivation rec {
# Move out default conf.d so that /etc/dd-agent/conf.d is used # Move out default conf.d so that /etc/dd-agent/conf.d is used
mv $out/agent/conf.d $out/agent/conf.d-system mv $out/agent/conf.d $out/agent/conf.d-system
# Sometime between 5.11.2 and 5.13.2 datadog moved out all its
# checks into separate repository. Copy them back in so dd-agent
# service can easily pick and choose by copying out configs into
# its etc files.
mkdir -p $out/agent/checks.d
for i in ${toString integrations}/* # */
do
if [ -f "$i/check.py" ]; then
if [ -f "$i/conf.yaml.default" -o -f "$i/conf.yaml.example" ]; then
local name=$(basename $i)
cp $i/check.py $out/agent/checks.d/$name.py
# Copy .default file first unless it doesn't exist then copy .default
cp $i/conf.yaml.default $out/agent/conf.d-system/$name.yaml &> /dev/null || \
cp $i/conf.yaml.example $out/agent/conf.d-system/$name.yaml
fi
fi
done
cat > $out/bin/dd-jmxfetch <<EOF cat > $out/bin/dd-jmxfetch <<EOF
#!/usr/bin/env bash #!/usr/bin/env bash
exec ${python}/bin/python $out/agent/jmxfetch.py $@ exec ${python}/bin/python $out/agent/jmxfetch.py $@

Some files were not shown because too many files have changed in this diff Show More