mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-01 03:12:51 +00:00
Merge remote-tracking branch 'upstream/master' into HEAD
This commit is contained in:
commit
7578940392
@ -26,6 +26,4 @@ env:
|
|||||||
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
|
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email: false
|
||||||
on_success: never
|
|
||||||
on_failure: change
|
|
||||||
|
@ -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>";
|
||||||
|
@ -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).
|
||||||
*/
|
*/
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -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"
|
||||||
|
]
|
@ -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;
|
||||||
|
9
nixos/modules/services/monitoring/dd-agent/update-dd-agent-defaults
Executable file
9
nixos/modules/services/monitoring/dd-agent/update-dd-agent-defaults
Executable 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
|
@ -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).
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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 = [];
|
||||||
|
268
nixos/modules/services/networking/resilio.nix
Normal file
268
nixos/modules/services/networking/resilio.nix
Normal 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}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
||||||
|
@ -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 =
|
||||||
|
@ -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 ];
|
||||||
|
@ -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; {
|
||||||
|
@ -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 {
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -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 = [
|
||||||
|
@ -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 = [
|
||||||
|
@ -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}";
|
||||||
|
@ -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}";
|
||||||
|
@ -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 ];
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
39
pkgs/applications/networking/resilio-sync/default.nix
Normal file
39
pkgs/applications/networking/resilio-sync/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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 [
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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];
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
|
|
||||||
|
@ -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 = ".";
|
||||||
|
@ -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 = {
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
24
pkgs/development/compilers/binaryen/default.nix
Normal file
24
pkgs/development/compilers/binaryen/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -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; {
|
||||||
|
@ -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";
|
||||||
|
551
pkgs/development/compilers/gcc/7/default.nix
Normal file
551
pkgs/development/compilers/gcc/7/default.nix
Normal 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; }
|
||||||
|
)
|
55
pkgs/development/compilers/gerbil/default.nix
Normal file
55
pkgs/development/compilers/gerbil/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 = [
|
||||||
|
@ -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;
|
||||||
|
25
pkgs/development/libraries/half/default.nix
Normal file
25
pkgs/development/libraries/half/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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;
|
||||||
};
|
};
|
||||||
|
29
pkgs/development/libraries/libnetfilter_log/default.nix
Normal file
29
pkgs/development/libraries/libnetfilter_log/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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";
|
||||||
|
@ -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 ]}
|
||||||
'';
|
'';
|
||||||
|
@ -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 ];
|
||||||
|
42
pkgs/development/ocaml-modules/cmdliner/1.0.nix
Normal file
42
pkgs/development/ocaml-modules/cmdliner/1.0.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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/
|
||||||
|
@ -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;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
24
pkgs/development/python-modules/Pmw/default.nix
Normal file
24
pkgs/development/python-modules/Pmw/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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;
|
||||||
}
|
}
|
||||||
|
33
pkgs/development/python-modules/aiofiles/default.nix
Normal file
33
pkgs/development/python-modules/aiofiles/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
22
pkgs/development/python-modules/colorama/default.nix
Normal file
22
pkgs/development/python-modules/colorama/default.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
39
pkgs/development/python-modules/dask/default.nix
Normal file
39
pkgs/development/python-modules/dask/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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 ''
|
||||||
|
26
pkgs/development/python-modules/libtmux/default.nix
Normal file
26
pkgs/development/python-modules/libtmux/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -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 = ''
|
||||||
|
52
pkgs/development/python-modules/nbconvert/default.nix
Normal file
52
pkgs/development/python-modules/nbconvert/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
36
pkgs/development/python-modules/nbformat/default.nix
Normal file
36
pkgs/development/python-modules/nbformat/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
37
pkgs/development/python-modules/ntlm-auth/default.nix
Normal file
37
pkgs/development/python-modules/ntlm-auth/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
32
pkgs/development/python-modules/pywinrm/default.nix
Normal file
32
pkgs/development/python-modules/pywinrm/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/development/python-modules/requests_ntlm/default.nix
Normal file
30
pkgs/development/python-modules/requests_ntlm/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
24
pkgs/development/python-modules/uncertainties/default.nix
Normal file
24
pkgs/development/python-modules/uncertainties/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -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 ] ;
|
||||||
|
28
pkgs/development/tools/analysis/randoop/default.nix
Normal file
28
pkgs/development/tools/analysis/randoop/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -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 = ''
|
||||||
|
@ -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; [
|
||||||
|
37
pkgs/development/tools/ocaml/ocp-indent/1.5.2.nix
Normal file
37
pkgs/development/tools/ocaml/ocp-indent/1.5.2.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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;
|
||||||
|
@ -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 = ''
|
||||||
|
22
pkgs/development/web/nodejs/v8.nix
Normal file
22
pkgs/development/web/nodejs/v8.nix
Normal 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 ];
|
||||||
|
})
|
||||||
|
|
@ -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 ];
|
||||||
|
@ -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";
|
||||||
|
@ -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 {
|
||||||
|
@ -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}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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'";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
];
|
];
|
||||||
|
52
pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch
Normal file
52
pkgs/os-specific/linux/broadcom-sta/linux-4.11.patch
Normal 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
|
@ -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
|
||||||
];
|
];
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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; {
|
||||||
|
32
pkgs/servers/dex/default.nix
Normal file
32
pkgs/servers/dex/default.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
@ -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;
|
||||||
|
@ -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;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -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;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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"
|
||||||
'';
|
'';
|
||||||
|
@ -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; [
|
||||||
|
@ -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 ];
|
||||||
|
@ -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
|
||||||
|
@ -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
Loading…
Reference in New Issue
Block a user