Merge pull request #19199 from wizeman/u/fix-help2man-hash
help2man: fix hash
This commit is contained in:
commit
888f6a1280
24
.editorconfig
Normal file
24
.editorconfig
Normal file
|
@ -0,0 +1,24 @@
|
|||
# EditorConfig configuration for nixpkgs
|
||||
# http://EditorConfig.org
|
||||
|
||||
# Top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file, utf-8 charset
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
charset = utf-8
|
||||
|
||||
# see https://nixos.org/nixpkgs/manual/#chap-conventions
|
||||
|
||||
# Match nix/ruby files, set indent to spaces with width of two
|
||||
[*.{nix,rb}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Match shell/python/perl scripts, set indent to spaces with width of four
|
||||
[*.{sh,py,pl}]
|
||||
indent_style = space
|
||||
indent_size = 4
|
|
@ -37,6 +37,7 @@
|
|||
andsild = "Anders Sildnes <andsild@gmail.com>";
|
||||
aneeshusa = "Aneesh Agrawal <aneeshusa@gmail.com>";
|
||||
antono = "Antono Vasiljev <self@antono.info>";
|
||||
apeyroux = "Alexandre Peyroux <alex@px.io>";
|
||||
ardumont = "Antoine R. Dumont <eniotna.t@gmail.com>";
|
||||
aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
|
||||
arobyn = "Alexei Robyn <shados@shados.net>";
|
||||
|
@ -233,6 +234,7 @@
|
|||
lovek323 = "Jason O'Conal <jason@oconal.id.au>";
|
||||
lowfatcomputing = "Andreas Wagner <andreas.wagner@lowfatcomputing.org>";
|
||||
lsix = "Lancelot SIX <lsix@lancelotsix.com>";
|
||||
lucas8 = "Luc Chabassier <luc.linux@mailoo.org>";
|
||||
ludo = "Ludovic Courtès <ludo@gnu.org>";
|
||||
luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
|
||||
lukasepple = "Lukas Epple <post@lukasepple.de>";
|
||||
|
@ -277,6 +279,7 @@
|
|||
mounium = "Katona László <muoniurn@gmail.com>";
|
||||
MP2E = "Cray Elliott <MP2E@archlinux.us>";
|
||||
mpscholten = "Marc Scholten <marc@mpscholten.de>";
|
||||
mpsyco = "Francis St-Amour <fr.st-amour@gmail.com>";
|
||||
msackman = "Matthew Sackman <matthew@wellquite.org>";
|
||||
mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>";
|
||||
msteen = "Matthijs Steen <emailmatthijs@gmail.com>";
|
||||
|
|
|
@ -29,6 +29,19 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
networking.hostConf = lib.mkOption {
|
||||
type = types.lines;
|
||||
default = "multi on";
|
||||
example = ''
|
||||
multi on
|
||||
reorder on
|
||||
trim lan
|
||||
'';
|
||||
description = ''
|
||||
The contents of <filename>/etc/host.conf</filename>. See also <citerefentry><refentrytitle>host.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
'';
|
||||
};
|
||||
|
||||
networking.dnsSingleRequest = lib.mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
|
@ -171,6 +184,9 @@ in
|
|||
${cfg.extraHosts}
|
||||
'';
|
||||
|
||||
# /etc/host.conf: resolver configuration file
|
||||
"host.conf".text = cfg.hostConf;
|
||||
|
||||
# /etc/resolvconf.conf: Configuration for openresolv.
|
||||
"resolvconf.conf".text =
|
||||
''
|
||||
|
|
|
@ -17,7 +17,7 @@ let
|
|||
[Desktop Entry]
|
||||
Name=IBus
|
||||
Type=Application
|
||||
Exec=${ibusPackage}/bin/ibus-daemon --daemonize --xim --cache=refresh
|
||||
Exec=${ibusPackage}/bin/ibus-daemon --daemonize --xim
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
|
|
@ -473,6 +473,7 @@
|
|||
./services/system/uptimed.nix
|
||||
./services/torrent/deluge.nix
|
||||
./services/torrent/flexget.nix
|
||||
./services/torrent/opentracker.nix
|
||||
./services/torrent/peerflix.nix
|
||||
./services/torrent/transmission.nix
|
||||
./services/ttys/agetty.nix
|
||||
|
|
|
@ -84,6 +84,14 @@ in
|
|||
type = types.bool;
|
||||
};
|
||||
|
||||
enableSyntaxHighlighting = mkOption {
|
||||
default = false;
|
||||
description = ''
|
||||
Enable zsh-syntax-highlighting
|
||||
'';
|
||||
type = types.bool;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -120,6 +128,10 @@ in
|
|||
|
||||
${if cfg.enableCompletion then "autoload -U compinit && compinit" else ""}
|
||||
|
||||
${optionalString (cfg.enableSyntaxHighlighting)
|
||||
"source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||
}
|
||||
|
||||
HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
|
||||
'';
|
||||
|
||||
|
@ -182,7 +194,8 @@ in
|
|||
environment.etc."zinputrc".source = ./zinputrc;
|
||||
|
||||
environment.systemPackages = [ pkgs.zsh ]
|
||||
++ optional cfg.enableCompletion pkgs.nix-zsh-completions;
|
||||
++ optional cfg.enableCompletion pkgs.nix-zsh-completions
|
||||
++ optional cfg.enableSyntaxHighlighting pkgs.zsh-syntax-highlighting;
|
||||
|
||||
environment.pathsToLink = optional cfg.enableCompletion "/share/zsh";
|
||||
|
||||
|
|
|
@ -149,6 +149,10 @@
|
|||
|
||||
<listitem><para>Trusted path execution: a desirable feature, but
|
||||
requires some more work to operate smoothly on NixOS.</para></listitem>
|
||||
|
||||
<listitem><para>Module hardening: would break user initiated module
|
||||
loading. Might enable this at some point, depending on the potential
|
||||
breakage.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para></listitem>
|
||||
|
||||
|
@ -208,8 +212,6 @@
|
|||
let
|
||||
kernel = pkgs.linux_grsec_nixos.override {
|
||||
extraConfig = ''
|
||||
GRKERNSEC y
|
||||
PAX y
|
||||
GRKERNSEC_CONFIG_AUTO y
|
||||
GRKERNSEC_CONFIG_SERVER y
|
||||
GRKERNSEC_CONFIG_SECURITY y
|
||||
|
|
|
@ -421,7 +421,7 @@ in {
|
|||
description = "Kubernetes Api Server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = ["kubernetes-setup.service"];
|
||||
after = [ "network-interfaces.target" "etcd.service" ];
|
||||
after = [ "network.target" "etcd.service" "kubernetes-setup.service" ];
|
||||
serviceConfig = {
|
||||
ExecStart = let
|
||||
authorizationPolicyFile =
|
||||
|
@ -468,7 +468,7 @@ in {
|
|||
systemd.services.kube-scheduler = {
|
||||
description = "Kubernetes Scheduler Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "kubernetes-apiserver.service" ];
|
||||
after = [ "network.target" "kubernetes-apiserver.service" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''${cfg.package}/bin/kube-scheduler \
|
||||
--address=${cfg.scheduler.address} \
|
||||
|
@ -487,7 +487,7 @@ in {
|
|||
systemd.services.kube-controller-manager = {
|
||||
description = "Kubernetes Controller Manager Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "kubernetes-apiserver.service" ];
|
||||
after = [ "network.target" "kubernetes-apiserver.service" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''${cfg.package}/bin/kube-controller-manager \
|
||||
--address=${cfg.controllerManager.address} \
|
||||
|
@ -511,7 +511,7 @@ in {
|
|||
description = "Kubernetes Kubelet Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = ["kubernetes-setup.service"];
|
||||
after = [ "network-interfaces.target" "etcd.service" "docker.service" ];
|
||||
after = [ "network.target" "etcd.service" "docker.service" "kubernetes-setup.service" ];
|
||||
path = [ pkgs.gitMinimal pkgs.openssh ];
|
||||
script = ''
|
||||
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH"
|
||||
|
@ -542,7 +542,7 @@ in {
|
|||
systemd.services.kube-proxy = {
|
||||
description = "Kubernetes Proxy Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "etcd.service" ];
|
||||
after = [ "network.target" "etcd.service" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''${cfg.package}/bin/kube-proxy \
|
||||
--master=${cfg.proxy.master} \
|
||||
|
|
|
@ -377,7 +377,7 @@ in {
|
|||
systemd.services.cassandra = {
|
||||
description = "Cassandra Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = cassandraEnvironment;
|
||||
restartTriggers = [ cassandraConfFile cassandraLogFile cassandraRackFile ];
|
||||
serviceConfig = {
|
||||
|
|
|
@ -160,7 +160,7 @@ in
|
|||
systemd.services.influxdb = {
|
||||
description = "InfluxDB Server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"'';
|
||||
User = "${cfg.user}";
|
||||
|
|
|
@ -123,7 +123,7 @@ in {
|
|||
systemd.services.neo4j = {
|
||||
description = "Neo4j Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = { NEO4J_INSTANCE = cfg.dataDir; };
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/neo4j console";
|
||||
|
|
|
@ -139,7 +139,7 @@ in {
|
|||
systemd.services.apache-kafka = {
|
||||
description = "Apache Kafka Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.jre}/bin/java \
|
||||
|
|
|
@ -43,7 +43,7 @@ in
|
|||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
PermissionsStartOnly = "true";
|
||||
ExecStart = "${pkgs.mono}/bin/mono ${pkgs.emby}/bin/MediaBrowser.Server.Mono.exe";
|
||||
ExecStart = "${pkgs.emby}/bin/MediaBrowser.Server.Mono";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -143,9 +143,9 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.etcd = {
|
||||
description = "Etcd Daemon";
|
||||
description = "etcd key-value store";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
environment = (filterAttrs (n: v: v != null) {
|
||||
ETCD_NAME = cfg.name;
|
||||
|
@ -168,12 +168,18 @@ in {
|
|||
ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken;
|
||||
}) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf);
|
||||
|
||||
unitConfig = {
|
||||
Documentation = "https://github.com/coreos/etcd";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
ExecStart = "${pkgs.etcd.bin}/bin/etcd";
|
||||
User = "etcd";
|
||||
PermissionsStartOnly = true;
|
||||
LimitNOFILE = 40000;
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
mkdir -m 0700 -p ${cfg.dataDir}
|
||||
if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi
|
||||
|
|
|
@ -50,7 +50,7 @@ in {
|
|||
};
|
||||
|
||||
systemd.services.foldingathome = {
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart = ''
|
||||
mkdir -m 0755 -p ${stateDir}
|
||||
|
|
|
@ -80,7 +80,7 @@ in {
|
|||
systemd.services.mesos-master = {
|
||||
description = "Mesos Master";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.mesos}/bin/mesos-master \
|
||||
|
|
|
@ -105,7 +105,7 @@ in {
|
|||
systemd.services.mesos-slave = {
|
||||
description = "Mesos Slave";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment.MESOS_CONTAINERIZERS = concatStringsSep "," containerizers;
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
|
|
|
@ -35,7 +35,7 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.svnserve = {
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart = "mkdir -p ${cfg.svnBaseDir}";
|
||||
script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/var/run/svnserve.pid";
|
||||
|
|
|
@ -113,7 +113,7 @@ in {
|
|||
systemd.services.zookeeper = {
|
||||
description = "Zookeeper Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = { ZOOCFGDIR = configDir; };
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
|
|
|
@ -387,7 +387,7 @@ in {
|
|||
systemd.services.carbonCache = let name = "carbon-cache"; in {
|
||||
description = "Graphite Data Storage Backend";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = carbonEnv;
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
||||
|
@ -410,7 +410,7 @@ in {
|
|||
enable = cfg.carbon.enableAggregator;
|
||||
description = "Carbon Data Aggregator";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = carbonEnv;
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
||||
|
@ -426,7 +426,7 @@ in {
|
|||
systemd.services.carbonRelay = let name = "carbon-relay"; in {
|
||||
description = "Carbon Data Relay";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = carbonEnv;
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
|
||||
|
@ -448,7 +448,7 @@ in {
|
|||
systemd.services.graphiteWeb = {
|
||||
description = "Graphite Web Interface";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
path = [ pkgs.perl ];
|
||||
environment = {
|
||||
PYTHONPATH = let
|
||||
|
@ -501,7 +501,7 @@ in {
|
|||
systemd.services.graphiteApi = {
|
||||
description = "Graphite Api Interface";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = {
|
||||
PYTHONPATH = let
|
||||
aenv = pkgs.python.buildEnv.override {
|
||||
|
@ -538,7 +538,7 @@ in {
|
|||
systemd.services.seyren = {
|
||||
description = "Graphite Alerting Dashboard";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "mongodb.service" ];
|
||||
after = [ "network.target" "mongodb.service" ];
|
||||
environment = seyrenConfig;
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}";
|
||||
|
@ -561,7 +561,7 @@ in {
|
|||
systemd.services.graphitePager = {
|
||||
description = "Graphite Pager Alerting Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "redis.service" ];
|
||||
after = [ "network.target" "redis.service" ];
|
||||
environment = {
|
||||
REDIS_URL = cfg.pager.redisUrl;
|
||||
GRAPHITE_URL = cfg.pager.graphiteUrl;
|
||||
|
|
|
@ -36,11 +36,16 @@ in
|
|||
];
|
||||
|
||||
systemd.services.monit = {
|
||||
description = "Monit system watcher";
|
||||
after = [ "network-interfaces.target" ];
|
||||
description = "Pro-active monitoring utility for unix systems";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf";
|
||||
serviceConfig.Restart = "always";
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf";
|
||||
ExecStop = "${pkgs.monit}/bin/monit -c /etc/monit.conf quit";
|
||||
ExecReload = "${pkgs.monit}/bin/monit -c /etc/monit.conf reload";
|
||||
KillMode = "process";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ in
|
|||
description = "Nagios monitoring daemon";
|
||||
path = [ pkgs.nagios ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
User = "nagios";
|
||||
|
|
|
@ -75,7 +75,7 @@ in
|
|||
systemd.services.afsd = {
|
||||
description = "AFS client";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = ''
|
||||
mkdir -p -m 0755 /afs
|
||||
|
|
|
@ -145,8 +145,8 @@ in
|
|||
};
|
||||
|
||||
systemd.services.bind = {
|
||||
description = "BIND name server job";
|
||||
after = [ "network-interfaces.target" ];
|
||||
description = "BIND Domain Name Server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
|
@ -155,6 +155,7 @@ in
|
|||
'';
|
||||
|
||||
script = "${pkgs.bind.bin}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f";
|
||||
unitConfig.Documentation = "man:named(8)";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -208,9 +208,9 @@ in
|
|||
# networking.firewall.allowedUDPPorts = ...
|
||||
|
||||
systemd.services.cjdns = {
|
||||
description = "encrypted networking for everybody";
|
||||
wantedBy = [ "network.target" ];
|
||||
after = [ "networkSetup.service" "network-interfaces.target" ];
|
||||
description = "cjdns: routing engine designed for security, scalability, speed and ease of use";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
preStart = if cfg.confFile != "" then "" else ''
|
||||
[ -e /etc/cjdns.keys ] && source /etc/cjdns.keys
|
||||
|
|
|
@ -158,8 +158,8 @@ in
|
|||
{ description = "DHCP Client";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
wants = [ "network.target" ];
|
||||
before = [ "network.target" ];
|
||||
|
||||
# Stopping dhcpcd during a reconfiguration is undesirable
|
||||
# because it brings down the network interfaces configured by
|
||||
|
|
|
@ -105,7 +105,7 @@ in
|
|||
config = mkIf cfg.enable {
|
||||
systemd.services.gvpe = {
|
||||
description = "GNU Virtual Private Ethernet node";
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
|
|
|
@ -171,7 +171,7 @@ in
|
|||
systemd.services = mkIf (!config.networking.firewall.enable) { nat = {
|
||||
description = "Network Address Translation";
|
||||
wantedBy = [ "network.target" ];
|
||||
after = [ "network-interfaces.target" "systemd-modules-load.service" ];
|
||||
after = [ "network-pre.target" "systemd-modules-load.service" ];
|
||||
path = [ pkgs.iptables ];
|
||||
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ with lib;
|
|||
|
||||
config = mkIf config.services.oidentd.enable {
|
||||
systemd.services.oidentd = {
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.Type = "forking";
|
||||
script = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup" +
|
||||
|
|
|
@ -56,7 +56,7 @@ let
|
|||
description = "OpenVPN instance ‘${name}’";
|
||||
|
||||
wantedBy = optional cfg.autoStart "multi-user.target";
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
path = [ pkgs.iptables pkgs.iproute pkgs.nettools ];
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ in
|
|||
|
||||
systemd.services.radicale = {
|
||||
description = "A Simple Calendar and Contact Server";
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = "${pkgs.radicale}/bin/radicale -C ${confFile} -f";
|
||||
serviceConfig.User = "radicale";
|
||||
|
|
|
@ -63,7 +63,6 @@ in
|
|||
];
|
||||
systemd.services."softether-init" = {
|
||||
description = "SoftEther VPN services initial task";
|
||||
wantedBy = [ "network-interfaces.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = false;
|
||||
|
@ -84,8 +83,9 @@ in
|
|||
(mkIf (cfg.vpnserver.enable) {
|
||||
systemd.services.vpnserver = {
|
||||
description = "SoftEther VPN Server";
|
||||
after = [ "softether-init.service" ];
|
||||
wantedBy = [ "network-interfaces.target" ];
|
||||
after = [ "softether-init.service" "network.target" ];
|
||||
wants = [ "softether-init.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${pkg}/bin/vpnserver start";
|
||||
|
@ -104,8 +104,9 @@ in
|
|||
(mkIf (cfg.vpnbridge.enable) {
|
||||
systemd.services.vpnbridge = {
|
||||
description = "SoftEther VPN Bridge";
|
||||
after = [ "softether-init.service" ];
|
||||
wantedBy = [ "network-interfaces.target" ];
|
||||
after = [ "softether-init.service" "network.target" ];
|
||||
wants = [ "softether-init.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${pkg}/bin/vpnbridge start";
|
||||
|
@ -124,8 +125,9 @@ in
|
|||
(mkIf (cfg.vpnclient.enable) {
|
||||
systemd.services.vpnclient = {
|
||||
description = "SoftEther VPN Client";
|
||||
after = [ "softether-init.service" ];
|
||||
wantedBy = [ "network-interfaces.target" ];
|
||||
after = [ "softether-init.service" "network.target" ];
|
||||
wants = [ "softether-init.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${pkg}/bin/vpnclient start";
|
||||
|
|
|
@ -120,7 +120,7 @@ in
|
|||
systemd.services.lshd = {
|
||||
description = "GNU lshd SSH2 daemon";
|
||||
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
|
|
|
@ -102,8 +102,8 @@ in
|
|||
};
|
||||
|
||||
permitRootLogin = mkOption {
|
||||
default = "without-password";
|
||||
type = types.enum ["yes" "without-password" "forced-commands-only" "no"];
|
||||
default = "prohibit-password";
|
||||
type = types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"];
|
||||
description = ''
|
||||
Whether the root user can login using ssh.
|
||||
'';
|
||||
|
|
|
@ -39,7 +39,7 @@ in
|
|||
description = "tcpcrypt";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ];
|
||||
|
||||
|
|
|
@ -151,8 +151,8 @@ in
|
|||
("tinc.${network}")
|
||||
({
|
||||
description = "Tinc Daemon - ${network}";
|
||||
wantedBy = [ "network.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
path = [ data.package ];
|
||||
restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ]
|
||||
++ mapAttrsToList (host: _ : config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts;
|
||||
|
|
|
@ -26,7 +26,9 @@ with lib;
|
|||
environment.systemPackages = [pkgs.wicd];
|
||||
|
||||
systemd.services.wicd = {
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network-pre.target" ];
|
||||
before = [ "network.target" ];
|
||||
wants = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
script = "${pkgs.wicd}/sbin/wicd -f";
|
||||
};
|
||||
|
|
|
@ -128,9 +128,9 @@ in {
|
|||
in {
|
||||
description = "WPA Supplicant";
|
||||
|
||||
after = [ "network-interfaces.target" ] ++ lib.concatMap deviceUnit ifaces;
|
||||
after = [ "network.target" ] ++ lib.concatMap deviceUnit ifaces;
|
||||
requires = lib.concatMap deviceUnit ifaces;
|
||||
wantedBy = [ "network.target" ];
|
||||
wantedBy = [ "network-online.target" ];
|
||||
|
||||
path = [ pkgs.wpa_supplicant ];
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ in
|
|||
config = mkIf cfg.enable {
|
||||
systemd.services.xinetd = {
|
||||
description = "xinetd server";
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.xinetd ];
|
||||
script = "xinetd -syslog daemon -dontfork -stayalive -f ${configFile}";
|
||||
|
|
|
@ -86,15 +86,15 @@ in
|
|||
|
||||
systemd.services.zerobin = {
|
||||
enable = true;
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${pkgs.pythonPackages.zerobin}/bin/zerobin ${cfg.listenAddress} ${toString cfg.listenPort} false ${cfg.user} ${cfg.group} ${zerobin_config}";
|
||||
serviceConfig.PrivateTmp="yes";
|
||||
serviceConfig.User = cfg.user;
|
||||
serviceConfig.Group = cfg.group;
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.dataDir}
|
||||
chown ${cfg.user} ${cfg.dataDir}
|
||||
mkdir -p ${cfg.dataDir}
|
||||
chown ${cfg.user} ${cfg.dataDir}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -41,7 +41,7 @@ in {
|
|||
systemd.services.chronos = {
|
||||
description = "Chronos Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "zookeeper.service" ];
|
||||
after = [ "network.target" "zookeeper.service" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.chronos}/bin/chronos --master ${cfg.master} --zk_hosts ${concatStringsSep "," cfg.zookeeperHosts} --http_port ${toString cfg.httpPort}";
|
||||
|
|
|
@ -83,7 +83,7 @@ in {
|
|||
description = "Marathon Service";
|
||||
environment = cfg.environment;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ];
|
||||
after = [ "network.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${concatStringsSep "," cfg.zookeeperHosts}/marathon --http_port ${toString cfg.httpPort} ${concatStringsSep " " cfg.extraCmdLineOptions}";
|
||||
|
|
|
@ -129,7 +129,7 @@ in {
|
|||
systemd.services.elasticsearch = {
|
||||
description = "Elasticsearch Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
path = [ pkgs.inetutils ];
|
||||
environment = {
|
||||
ES_HOME = cfg.dataDir;
|
||||
|
|
|
@ -138,7 +138,7 @@ in {
|
|||
systemd.services.kibana = {
|
||||
description = "Kibana Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" "elasticsearch.service" ];
|
||||
after = [ "network.target" "elasticsearch.service" ];
|
||||
environment = { BABEL_CACHE_PATH = "${cfg.dataDir}/.babelcache.json"; };
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/kibana --config ${cfgFile}";
|
||||
|
|
|
@ -510,7 +510,7 @@ in
|
|||
description = "OAuth2 Proxy";
|
||||
path = [ cfg.package ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
User = "oauth2_proxy";
|
||||
|
|
44
nixos/modules/services/torrent/opentracker.nix
Normal file
44
nixos/modules/services/torrent/opentracker.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.opentracker;
|
||||
in {
|
||||
options.services.opentracker = {
|
||||
enable = mkEnableOption "opentracker";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
description = ''
|
||||
opentracker package to use
|
||||
'';
|
||||
default = pkgs.opentracker;
|
||||
};
|
||||
|
||||
extraOptions = mkOption {
|
||||
type = types.separatedString " ";
|
||||
description = ''
|
||||
Configuration Arguments for opentracker
|
||||
See https://erdgeist.org/arts/software/opentracker/ for all params
|
||||
'';
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
systemd.services.opentracker = {
|
||||
description = "opentracker server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
restartIfChanged = true;
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/opentracker ${cfg.extraOptions}";
|
||||
PrivateTmp = true;
|
||||
WorkingDirectory = "/var/empty";
|
||||
# By default opentracker drops all privileges and runs in chroot after starting up as root.
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -42,7 +42,7 @@ in {
|
|||
systemd.services.peerflix = {
|
||||
description = "Peerflix Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment.HOME = cfg.stateDir;
|
||||
|
||||
preStart = ''
|
||||
|
|
|
@ -245,7 +245,6 @@ in
|
|||
chown ${serverInfo.serverConfig.user} ${config.wordpressUploads}
|
||||
|
||||
# we should use systemd dependencies here
|
||||
#waitForUnit("network-interfaces.target");
|
||||
if [ ! -d ${serverInfo.fullConfig.services.mysql.dataDir}/${config.dbName} ]; then
|
||||
echo "Need to create the database '${config.dbName}' and grant permissions to user named '${config.dbUser}'."
|
||||
# Wait until MySQL is up
|
||||
|
|
|
@ -139,7 +139,7 @@ in
|
|||
systemd.services.tomcat = {
|
||||
description = "Apache Tomcat server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-interfaces.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
|
||||
|
|
|
@ -149,6 +149,22 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
autoRepeatDelay = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
Sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts).
|
||||
'';
|
||||
};
|
||||
|
||||
autoRepeatInterval = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = ''
|
||||
Sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).
|
||||
'';
|
||||
};
|
||||
|
||||
inputClassSections = mkOption {
|
||||
type = types.listOf types.lines;
|
||||
default = [];
|
||||
|
@ -504,7 +520,6 @@ in
|
|||
|
||||
environment =
|
||||
{
|
||||
XKB_BINDIR = "${xorg.xkbcomp}/bin"; # Needed for the Xkb extension.
|
||||
XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime.
|
||||
LD_LIBRARY_PATH = concatStringsSep ":" (
|
||||
[ "${xorg.libX11.out}/lib" "${xorg.libXext.out}/lib" "/run/opengl-driver/lib" ]
|
||||
|
@ -536,7 +551,9 @@ in
|
|||
] ++ optional (cfg.display != null) ":${toString cfg.display}"
|
||||
++ optional (cfg.tty != null) "vt${toString cfg.tty}"
|
||||
++ optional (cfg.dpi != null) "-dpi ${toString cfg.dpi}"
|
||||
++ optional (!cfg.enableTCP) "-nolisten tcp";
|
||||
++ optional (!cfg.enableTCP) "-nolisten tcp"
|
||||
++ optional (cfg.autoRepeatDelay != null) "-ardelay ${toString cfg.autoRepeatDelay}"
|
||||
++ optional (cfg.autoRepeatInterval != null) "-arinterval ${toString cfg.autoRepeatInterval}";
|
||||
|
||||
services.xserver.modules =
|
||||
concatLists (catAttrs "modules" cfg.drivers) ++
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#! @python@/bin/python
|
||||
#! @python3@/bin/python3
|
||||
import argparse
|
||||
import shutil
|
||||
import os
|
||||
|
@ -13,29 +13,21 @@ def copy_if_not_exists(source, dest):
|
|||
if not os.path.exists(dest):
|
||||
shutil.copyfile(source, dest)
|
||||
|
||||
system_dir = lambda generation: "/nix/var/nix/profiles/system-%d-link" % (generation)
|
||||
def system_dir(generation):
|
||||
return "/nix/var/nix/profiles/system-%d-link" % (generation)
|
||||
|
||||
def write_entry(generation, kernel, initrd):
|
||||
entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation)
|
||||
generation_dir = os.readlink(system_dir(generation))
|
||||
tmp_path = "%s.tmp" % (entry_file)
|
||||
kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir)
|
||||
with open("%s/kernel-params" % (generation_dir)) as params_file:
|
||||
kernel_params = kernel_params + params_file.read()
|
||||
with open(tmp_path, 'w') as f:
|
||||
print >> f, "title NixOS"
|
||||
print >> f, "version Generation %d" % (generation)
|
||||
if machine_id is not None: print >> f, "machine-id %s" % (machine_id)
|
||||
print >> f, "linux %s" % (kernel)
|
||||
print >> f, "initrd %s" % (initrd)
|
||||
print >> f, "options %s" % (kernel_params)
|
||||
os.rename(tmp_path, entry_file)
|
||||
BOOT_ENTRY = """title NixOS
|
||||
version Generation {generation}
|
||||
linux {kernel}
|
||||
initrd {initrd}
|
||||
options {kernel_params}
|
||||
"""
|
||||
|
||||
def write_loader_conf(generation):
|
||||
with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f:
|
||||
if "@timeout@" != "":
|
||||
print >> f, "timeout @timeout@"
|
||||
print >> f, "default nixos-generation-%d" % (generation)
|
||||
f.write("timeout @timeout@\n")
|
||||
f.write("default nixos-generation-%d\n" % generation)
|
||||
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
|
||||
|
||||
def copy_from_profile(generation, name, dry_run=False):
|
||||
|
@ -47,10 +39,23 @@ def copy_from_profile(generation, name, dry_run=False):
|
|||
copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path))
|
||||
return efi_file_path
|
||||
|
||||
def add_entry(generation):
|
||||
efi_kernel_path = copy_from_profile(generation, "kernel")
|
||||
efi_initrd_path = copy_from_profile(generation, "initrd")
|
||||
write_entry(generation, efi_kernel_path, efi_initrd_path)
|
||||
def write_entry(generation, machine_id):
|
||||
kernel = copy_from_profile(generation, "kernel")
|
||||
initrd = copy_from_profile(generation, "initrd")
|
||||
entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation)
|
||||
generation_dir = os.readlink(system_dir(generation))
|
||||
tmp_path = "%s.tmp" % (entry_file)
|
||||
kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir)
|
||||
with open("%s/kernel-params" % (generation_dir)) as params_file:
|
||||
kernel_params = kernel_params + params_file.read()
|
||||
with open(tmp_path, 'w') as f:
|
||||
f.write(BOOT_ENTRY.format(generation=generation,
|
||||
kernel=kernel,
|
||||
initrd=initrd,
|
||||
kernel_params=kernel_params))
|
||||
if machine_id is not None:
|
||||
f.write("machine-id %s\n" % machine_id)
|
||||
os.rename(tmp_path, entry_file)
|
||||
|
||||
def mkdir_p(path):
|
||||
try:
|
||||
|
@ -65,8 +70,8 @@ def get_generations(profile):
|
|||
"--list-generations",
|
||||
"-p",
|
||||
"/nix/var/nix/profiles/%s" % (profile),
|
||||
"--option", "build-users-group", ""
|
||||
])
|
||||
"--option", "build-users-group", ""],
|
||||
universal_newlines=True)
|
||||
gen_lines = gen_list.split('\n')
|
||||
gen_lines.pop()
|
||||
return [ int(line.split()[0]) for line in gen_lines ]
|
||||
|
@ -89,33 +94,37 @@ def remove_old_entries(gens):
|
|||
if not path in known_paths:
|
||||
os.unlink(path)
|
||||
|
||||
parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files')
|
||||
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot')
|
||||
args = parser.parse_args()
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files')
|
||||
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot')
|
||||
args = parser.parse_args()
|
||||
|
||||
if os.getenv("NIXOS_INSTALL_GRUB") == "1":
|
||||
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
|
||||
os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1"
|
||||
if os.getenv("NIXOS_INSTALL_GRUB") == "1":
|
||||
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
|
||||
os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1"
|
||||
|
||||
if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1":
|
||||
if "@canTouchEfiVariables@" == "1":
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
|
||||
else:
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"])
|
||||
if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1":
|
||||
if "@canTouchEfiVariables@" == "1":
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
|
||||
else:
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"])
|
||||
|
||||
mkdir_p("@efiSysMountPoint@/efi/nixos")
|
||||
mkdir_p("@efiSysMountPoint@/loader/entries")
|
||||
try:
|
||||
with open("/etc/machine-id") as machine_file:
|
||||
machine_id = machine_file.readlines()[0]
|
||||
except IOError as e:
|
||||
if e.errno != errno.ENOENT:
|
||||
raise
|
||||
machine_id = None
|
||||
mkdir_p("@efiSysMountPoint@/efi/nixos")
|
||||
mkdir_p("@efiSysMountPoint@/loader/entries")
|
||||
try:
|
||||
with open("/etc/machine-id") as machine_file:
|
||||
machine_id = machine_file.readlines()[0]
|
||||
except IOError as e:
|
||||
if e.errno != errno.ENOENT:
|
||||
raise
|
||||
machine_id = None
|
||||
|
||||
gens = get_generations("system")
|
||||
remove_old_entries(gens)
|
||||
for gen in gens:
|
||||
add_entry(gen)
|
||||
if os.readlink(system_dir(gen)) == args.default_config:
|
||||
write_loader_conf(gen)
|
||||
gens = get_generations("system")
|
||||
remove_old_entries(gens)
|
||||
for gen in gens:
|
||||
write_entry(gen, machine_id)
|
||||
if os.readlink(system_dir(gen)) == args.default_config:
|
||||
write_loader_conf(gen)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
|
@ -12,7 +12,7 @@ let
|
|||
|
||||
isExecutable = true;
|
||||
|
||||
inherit (pkgs) python;
|
||||
inherit (pkgs) python3;
|
||||
|
||||
systemd = config.systemd.package;
|
||||
|
||||
|
|
|
@ -296,35 +296,35 @@ let
|
|||
};
|
||||
|
||||
addressOptions = {
|
||||
|
||||
addressConfig = mkOption {
|
||||
default = {};
|
||||
example = { Address = "192.168.0.100/24"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) checkAddress;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
<literal>[Address]</literal> section of the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for details.
|
||||
'';
|
||||
options = {
|
||||
addressConfig = mkOption {
|
||||
default = {};
|
||||
example = { Address = "192.168.0.100/24"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) checkAddress;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
<literal>[Address]</literal> section of the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
routeOptions = {
|
||||
|
||||
routeConfig = mkOption {
|
||||
default = {};
|
||||
example = { Gateway = "192.168.0.1"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) checkRoute;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
<literal>[Route]</literal> section of the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for details.
|
||||
'';
|
||||
options = {
|
||||
routeConfig = mkOption {
|
||||
default = {};
|
||||
example = { Gateway = "192.168.0.1"; };
|
||||
type = types.addCheck (types.attrsOf unitOption) checkRoute;
|
||||
description = ''
|
||||
Each attribute in this set specifies an option in the
|
||||
<literal>[Route]</literal> section of the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
networkOptions = commonNetworkOptions // {
|
||||
|
@ -471,7 +471,7 @@ let
|
|||
|
||||
addresses = mkOption {
|
||||
default = [ ];
|
||||
type = with types; listOf (submodule [ addressOptions ]);
|
||||
type = with types; listOf (submodule addressOptions);
|
||||
description = ''
|
||||
A list of address sections to be added to the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
|
@ -481,7 +481,7 @@ let
|
|||
|
||||
routes = mkOption {
|
||||
default = [ ];
|
||||
type = with types; listOf (submodule [ routeOptions ]);
|
||||
type = with types; listOf (submodule routeOptions);
|
||||
description = ''
|
||||
A list of route sections to be added to the unit. See
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle>
|
||||
|
@ -622,19 +622,19 @@ in
|
|||
|
||||
systemd.network.links = mkOption {
|
||||
default = {};
|
||||
type = with types; attrsOf (submodule [ linkOptions ]);
|
||||
type = with types; attrsOf (submodule [ { options = linkOptions; } ]);
|
||||
description = "Definition of systemd network links.";
|
||||
};
|
||||
|
||||
systemd.network.netdevs = mkOption {
|
||||
default = {};
|
||||
type = with types; attrsOf (submodule [ netdevOptions ]);
|
||||
type = with types; attrsOf (submodule [ { options = netdevOptions; } ]);
|
||||
description = "Definition of systemd network devices.";
|
||||
};
|
||||
|
||||
systemd.network.networks = mkOption {
|
||||
default = {};
|
||||
type = with types; attrsOf (submodule [ networkOptions networkConfig ]);
|
||||
type = with types; attrsOf (submodule [ { options = networkOptions; } networkConfig ]);
|
||||
description = "Definition of systemd networks.";
|
||||
};
|
||||
|
||||
|
@ -667,7 +667,6 @@ in
|
|||
|
||||
systemd.services.systemd-networkd = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "network-interfaces.target" ];
|
||||
restartTriggers = [ config.environment.etc."systemd/network".source ];
|
||||
};
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ rec {
|
|||
mkdir -p $out/getty.target.wants/
|
||||
ln -s ../autovt@tty1.service $out/getty.target.wants/
|
||||
|
||||
ln -s ../local-fs.target ../remote-fs.target ../network.target \
|
||||
ln -s ../local-fs.target ../remote-fs.target \
|
||||
../nss-lookup.target ../nss-user-lookup.target ../swap.target \
|
||||
$out/multi-user.target.wants/
|
||||
''}
|
||||
|
|
|
@ -54,16 +54,22 @@ in
|
|||
networkSetup =
|
||||
{ description = "Networking Setup";
|
||||
|
||||
after = [ "network-interfaces.target" "network-pre.target" ];
|
||||
before = [ "network.target" ];
|
||||
wantedBy = [ "network.target" ];
|
||||
after = [ "network-pre.target" "systemd-udevd.service" "systemd-sysctl.service" ];
|
||||
before = [ "network.target" "shutdown.target" ];
|
||||
wants = [ "network.target" ];
|
||||
conflicts = [ "shutdown.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
|
||||
|
||||
path = [ pkgs.iproute ];
|
||||
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
|
||||
unitConfig.DefaultDependencies = false;
|
||||
|
||||
script =
|
||||
''
|
||||
|
@ -108,8 +114,12 @@ in
|
|||
in
|
||||
nameValuePair "network-addresses-${i.name}"
|
||||
{ description = "Address configuration of ${i.name}";
|
||||
wantedBy = [ "network-interfaces.target" ];
|
||||
before = [ "network-interfaces.target" ];
|
||||
wantedBy = [ "network-setup.service" ];
|
||||
# propagate stop and reload from network-setup
|
||||
partOf = [ "network-setup.service" ];
|
||||
# order before network-setup because the routes that are configured
|
||||
# there may need ip addresses configured
|
||||
before = [ "network-setup.service" ];
|
||||
bindsTo = [ (subsystemDevice i.name) ];
|
||||
after = [ (subsystemDevice i.name) "network-pre.target" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
|
@ -129,20 +139,11 @@ in
|
|||
echo "checking ip ${address}..."
|
||||
if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then
|
||||
echo "added ip ${address}..."
|
||||
restart_network_setup=true
|
||||
elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
|
||||
echo "failed to add ${address}"
|
||||
exit 1
|
||||
fi
|
||||
'')
|
||||
+ optionalString (ips != [ ])
|
||||
''
|
||||
if [ "$restart_network_setup" = "true" ]; then
|
||||
# Ensure that the default gateway remains set.
|
||||
# (Flushing this interface may have removed it.)
|
||||
${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service
|
||||
fi
|
||||
'';
|
||||
'');
|
||||
preStop = flip concatMapStrings (ips) (ip:
|
||||
let
|
||||
address = "${ip.address}/${toString ip.prefixLength}";
|
||||
|
@ -156,10 +157,11 @@ in
|
|||
|
||||
createTunDevice = i: nameValuePair "${i.name}-netdev"
|
||||
{ description = "Virtual Network Interface ${i.name}";
|
||||
requires = [ "dev-net-tun.device" ];
|
||||
bindsTo = [ "dev-net-tun.device" ];
|
||||
after = [ "dev-net-tun.device" "network-pre.target" ];
|
||||
wantedBy = [ "network.target" (subsystemDevice i.name) ];
|
||||
before = [ "network-interfaces.target" (subsystemDevice i.name) ];
|
||||
wantedBy = [ "network-setup.service" (subsystemDevice i.name) ];
|
||||
partOf = [ "network-setup.service" ];
|
||||
before = [ "network-setup.service" (subsystemDevice i.name) ];
|
||||
path = [ pkgs.iproute ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
|
@ -180,12 +182,12 @@ in
|
|||
deps = map subsystemDevice v.interfaces;
|
||||
in
|
||||
{ description = "Bridge Interface ${n}";
|
||||
wantedBy = [ "network.target" (subsystemDevice n) ];
|
||||
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
|
||||
bindsTo = deps ++ optional v.rstp "mstpd.service";
|
||||
partOf = optional v.rstp "mstpd.service";
|
||||
partOf = [ "network-setup.service" ] ++ optional v.rstp "mstpd.service";
|
||||
after = [ "network-pre.target" "mstpd.service" ] ++ deps
|
||||
++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces;
|
||||
before = [ "network-interfaces.target" (subsystemDevice n) ];
|
||||
before = [ "network-setup.service" (subsystemDevice n) ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute ];
|
||||
|
@ -222,11 +224,11 @@ in
|
|||
ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules;
|
||||
in
|
||||
{ description = "Open vSwitch Interface ${n}";
|
||||
wantedBy = [ "network.target" "vswitchd.service" ] ++ deps;
|
||||
wantedBy = [ "network-setup.service" "vswitchd.service" ] ++ deps;
|
||||
bindsTo = [ "vswitchd.service" (subsystemDevice n) ] ++ deps;
|
||||
partOf = [ "vswitchd.service" ];
|
||||
partOf = [ "network-setup.service" "vswitchd.service" ];
|
||||
after = [ "network-pre.target" "vswitchd.service" ] ++ deps;
|
||||
before = [ "network-interfaces.target" ];
|
||||
before = [ "network-setup.service" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute config.virtualisation.vswitch.package ];
|
||||
|
@ -254,11 +256,12 @@ in
|
|||
deps = map subsystemDevice v.interfaces;
|
||||
in
|
||||
{ description = "Bond Interface ${n}";
|
||||
wantedBy = [ "network.target" (subsystemDevice n) ];
|
||||
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
|
||||
bindsTo = deps;
|
||||
partOf = [ "network-setup.service" ];
|
||||
after = [ "network-pre.target" ] ++ deps
|
||||
++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces;
|
||||
before = [ "network-interfaces.target" (subsystemDevice n) ];
|
||||
before = [ "network-setup.service" (subsystemDevice n) ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute pkgs.gawk ];
|
||||
|
@ -291,10 +294,11 @@ in
|
|||
deps = [ (subsystemDevice v.interface) ];
|
||||
in
|
||||
{ description = "Vlan Interface ${n}";
|
||||
wantedBy = [ "network.target" (subsystemDevice n) ];
|
||||
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
|
||||
bindsTo = deps;
|
||||
partOf = [ "network-setup.service" ];
|
||||
after = [ "network-pre.target" ] ++ deps;
|
||||
before = [ "network-interfaces.target" (subsystemDevice n) ];
|
||||
before = [ "network-setup.service" (subsystemDevice n) ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute ];
|
||||
|
@ -315,10 +319,11 @@ in
|
|||
deps = optional (v.dev != null) (subsystemDevice v.dev);
|
||||
in
|
||||
{ description = "6-to-4 Tunnel Interface ${n}";
|
||||
wantedBy = [ "network.target" (subsystemDevice n) ];
|
||||
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
|
||||
bindsTo = deps;
|
||||
partOf = [ "network-setup.service" ];
|
||||
after = [ "network-pre.target" ] ++ deps;
|
||||
before = [ "network-interfaces.target" (subsystemDevice n) ];
|
||||
before = [ "network-setup.service" (subsystemDevice n) ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute ];
|
||||
|
@ -342,10 +347,11 @@ in
|
|||
deps = [ (subsystemDevice v.interface) ];
|
||||
in
|
||||
{ description = "Vlan Interface ${n}";
|
||||
wantedBy = [ "network.target" (subsystemDevice n) ];
|
||||
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
|
||||
bindsTo = deps;
|
||||
partOf = [ "network-setup.service" ];
|
||||
after = [ "network-pre.target" ] ++ deps;
|
||||
before = [ "network-interfaces.target" (subsystemDevice n) ];
|
||||
before = [ "network-setup.service" (subsystemDevice n) ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
path = [ pkgs.iproute ];
|
||||
|
|
|
@ -946,8 +946,10 @@ in
|
|||
]
|
||||
++ bridgeStp;
|
||||
|
||||
# The network-interfaces target is kept for backwards compatibility.
|
||||
# New modules must NOT use it.
|
||||
systemd.targets."network-interfaces" =
|
||||
{ description = "All Network Interfaces";
|
||||
{ description = "All Network Interfaces (deprecated)";
|
||||
wantedBy = [ "network.target" ];
|
||||
before = [ "network.target" ];
|
||||
after = [ "network-pre.target" ];
|
||||
|
|
|
@ -138,7 +138,7 @@ let cfg = config.ec2; in
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time.
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "without-password";
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
|
||||
# Force getting the hostname from EC2.
|
||||
networking.hostName = mkDefault "";
|
||||
|
|
|
@ -24,7 +24,7 @@ with lib;
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time, ping client connections to avoid timeouts
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "without-password";
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.extraConfig = ''
|
||||
ClientAliveInterval 180
|
||||
'';
|
||||
|
|
|
@ -103,7 +103,7 @@ in
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time.
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "without-password";
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
|
||||
# Force getting the hostname from Google Compute.
|
||||
networking.hostName = mkDefault "";
|
||||
|
|
|
@ -502,8 +502,7 @@ in
|
|||
};
|
||||
|
||||
allowedDevices = mkOption {
|
||||
type = types.listOf types.optionSet;
|
||||
options = [ allowedDeviceOpts ];
|
||||
type = with types; listOf (submodule allowedDeviceOpts);
|
||||
default = [];
|
||||
example = [ { node = "/dev/net/tun"; modifier = "rw"; } ];
|
||||
description = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
let self = {
|
||||
"14.04".ap-northeast-1.hvm-ebs = "ami-71c6f470";
|
||||
"14.04".ap-northeast-1.pv-ebs = "ami-4dcbf84c";
|
||||
"14.04".ap-northeast-1.pv-s3 = "ami-8fc4f68e";
|
||||
|
@ -134,4 +134,52 @@
|
|||
"16.03".us-west-2.hvm-s3 = "ami-925c9ff2";
|
||||
"16.03".us-west-2.pv-ebs = "ami-5e61a23e";
|
||||
"16.03".us-west-2.pv-s3 = "ami-734c8f13";
|
||||
}
|
||||
|
||||
# 16.09.666.3738950
|
||||
"16.09".ap-northeast-1.hvm-ebs = "ami-35578954";
|
||||
"16.09".ap-northeast-1.hvm-s3 = "ami-d6528cb7";
|
||||
"16.09".ap-northeast-1.pv-ebs = "ami-07548a66";
|
||||
"16.09".ap-northeast-1.pv-s3 = "ami-f1548a90";
|
||||
"16.09".ap-northeast-2.hvm-ebs = "ami-d48753ba";
|
||||
"16.09".ap-northeast-2.hvm-s3 = "ami-4c865222";
|
||||
"16.09".ap-northeast-2.pv-ebs = "ami-ca8551a4";
|
||||
"16.09".ap-northeast-2.pv-s3 = "ami-9c8551f2";
|
||||
"16.09".ap-south-1.hvm-ebs = "ami-922450fd";
|
||||
"16.09".ap-south-1.hvm-s3 = "ami-6d3a4e02";
|
||||
"16.09".ap-south-1.pv-ebs = "ami-4d394d22";
|
||||
"16.09".ap-south-1.pv-s3 = "ami-17384c78";
|
||||
"16.09".ap-southeast-1.hvm-ebs = "ami-f824809b";
|
||||
"16.09".ap-southeast-1.hvm-s3 = "ami-f924809a";
|
||||
"16.09".ap-southeast-1.pv-ebs = "ami-af2480cc";
|
||||
"16.09".ap-southeast-1.pv-s3 = "ami-5826823b";
|
||||
"16.09".ap-southeast-2.hvm-ebs = "ami-40fecd23";
|
||||
"16.09".ap-southeast-2.hvm-s3 = "ami-48fecd2b";
|
||||
"16.09".ap-southeast-2.pv-ebs = "ami-dffecdbc";
|
||||
"16.09".ap-southeast-2.pv-s3 = "ami-e0fccf83";
|
||||
"16.09".eu-central-1.hvm-ebs = "ami-1d8b7472";
|
||||
"16.09".eu-central-1.hvm-s3 = "ami-1c8b7473";
|
||||
"16.09".eu-central-1.pv-ebs = "ami-8c8d72e3";
|
||||
"16.09".eu-central-1.pv-s3 = "ami-3488775b";
|
||||
"16.09".eu-west-1.hvm-ebs = "ami-15662766";
|
||||
"16.09".eu-west-1.hvm-s3 = "ami-476b2a34";
|
||||
"16.09".eu-west-1.pv-ebs = "ami-876928f4";
|
||||
"16.09".eu-west-1.pv-s3 = "ami-70682903";
|
||||
"16.09".sa-east-1.hvm-ebs = "ami-27bc2e4b";
|
||||
"16.09".sa-east-1.hvm-s3 = "ami-e4b92b88";
|
||||
"16.09".sa-east-1.pv-ebs = "ami-4dbe2c21";
|
||||
"16.09".sa-east-1.pv-s3 = "ami-77fc6e1b";
|
||||
"16.09".us-east-1.hvm-ebs = "ami-93347684";
|
||||
"16.09".us-east-1.hvm-s3 = "ami-5e347649";
|
||||
"16.09".us-east-1.pv-ebs = "ami-b0387aa7";
|
||||
"16.09".us-east-1.pv-s3 = "ami-51357746";
|
||||
"16.09".us-west-1.hvm-ebs = "ami-06337a66";
|
||||
"16.09".us-west-1.hvm-s3 = "ami-76307916";
|
||||
"16.09".us-west-1.pv-ebs = "ami-fd327b9d";
|
||||
"16.09".us-west-1.pv-s3 = "ami-cc347dac";
|
||||
"16.09".us-west-2.hvm-ebs = "ami-49fe2729";
|
||||
"16.09".us-west-2.hvm-s3 = "ami-93fc25f3";
|
||||
"16.09".us-west-2.pv-ebs = "ami-14fe2774";
|
||||
"16.09".us-west-2.pv-s3 = "ami-74f12814";
|
||||
|
||||
latest = self."16.09";
|
||||
}; in self
|
||||
|
|
|
@ -111,7 +111,7 @@ in
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time.
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "without-password";
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.passwordAuthentication = mkDefault false;
|
||||
|
||||
# Force getting the hostname from Google Compute.
|
||||
|
|
|
@ -31,7 +31,7 @@ with lib;
|
|||
|
||||
# Allow root logins
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "without-password";
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
|
||||
# Put /tmp and /var on /ephemeral0, which has a lot more space.
|
||||
# Unfortunately we can't do this with the `fileSystems' option
|
||||
|
|
|
@ -41,7 +41,6 @@ let
|
|||
machine.networking.useNetworkd = networkd;
|
||||
testScript = ''
|
||||
startAll;
|
||||
$machine->waitForUnit("network-interfaces.target");
|
||||
$machine->waitForUnit("network.target");
|
||||
$machine->succeed("ip addr show lo | grep -q 'inet 127.0.0.1/8 '");
|
||||
$machine->succeed("ip addr show lo | grep -q 'inet6 ::1/128 '");
|
||||
|
@ -71,9 +70,7 @@ let
|
|||
''
|
||||
startAll;
|
||||
|
||||
$client->waitForUnit("network-interfaces.target");
|
||||
$client->waitForUnit("network.target");
|
||||
$router->waitForUnit("network-interfaces.target");
|
||||
$router->waitForUnit("network.target");
|
||||
|
||||
# Make sure dhcpcd is not started
|
||||
|
@ -119,9 +116,7 @@ let
|
|||
''
|
||||
startAll;
|
||||
|
||||
$client->waitForUnit("network-interfaces.target");
|
||||
$client->waitForUnit("network.target");
|
||||
$router->waitForUnit("network-interfaces.target");
|
||||
$router->waitForUnit("network.target");
|
||||
|
||||
# Wait until we have an ip address on each interface
|
||||
|
@ -164,9 +159,7 @@ let
|
|||
startAll;
|
||||
|
||||
# Wait for networking to come up
|
||||
$client->waitForUnit("network-interfaces.target");
|
||||
$client->waitForUnit("network.target");
|
||||
$router->waitForUnit("network-interfaces.target");
|
||||
$router->waitForUnit("network.target");
|
||||
|
||||
# Wait until we have an ip address on each interface
|
||||
|
@ -213,9 +206,7 @@ let
|
|||
startAll;
|
||||
|
||||
# Wait for networking to come up
|
||||
$client1->waitForUnit("network-interfaces.target");
|
||||
$client1->waitForUnit("network.target");
|
||||
$client2->waitForUnit("network-interfaces.target");
|
||||
$client2->waitForUnit("network.target");
|
||||
|
||||
# Test bonding
|
||||
|
@ -259,11 +250,8 @@ let
|
|||
startAll;
|
||||
|
||||
# Wait for networking to come up
|
||||
$client1->waitForUnit("network-interfaces.target");
|
||||
$client1->waitForUnit("network.target");
|
||||
$client2->waitForUnit("network-interfaces.target");
|
||||
$client2->waitForUnit("network.target");
|
||||
$router->waitForUnit("network-interfaces.target");
|
||||
$router->waitForUnit("network.target");
|
||||
|
||||
# Test bridging
|
||||
|
@ -298,9 +286,7 @@ let
|
|||
startAll;
|
||||
|
||||
# Wait for networking to come up
|
||||
$client->waitForUnit("network-interfaces.target");
|
||||
$client->waitForUnit("network.target");
|
||||
$router->waitForUnit("network-interfaces.target");
|
||||
$router->waitForUnit("network.target");
|
||||
|
||||
# Wait until we have an ip address on each interface
|
||||
|
@ -348,9 +334,7 @@ let
|
|||
startAll;
|
||||
|
||||
# Wait for networking to be configured
|
||||
$client1->waitForUnit("network-interfaces.target");
|
||||
$client1->waitForUnit("network.target");
|
||||
$client2->waitForUnit("network-interfaces.target");
|
||||
$client2->waitForUnit("network.target");
|
||||
|
||||
# Print diagnostic information
|
||||
|
@ -391,9 +375,7 @@ let
|
|||
startAll;
|
||||
|
||||
# Wait for networking to be configured
|
||||
$client1->waitForUnit("network-interfaces.target");
|
||||
$client1->waitForUnit("network.target");
|
||||
$client2->waitForUnit("network-interfaces.target");
|
||||
$client2->waitForUnit("network.target");
|
||||
|
||||
# Test vlan is setup
|
||||
|
|
33
pkgs/applications/editors/notepadqq/default.nix
Normal file
33
pkgs/applications/editors/notepadqq/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ stdenv, fetchgit, pkgconfig, which, qtbase }:
|
||||
|
||||
let
|
||||
version = "0.53.0";
|
||||
in stdenv.mkDerivation {
|
||||
name = "notepadqq-${version}";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/notepadqq/notepadqq.git";
|
||||
rev = "3b0751277fb268ec72b466b37d0f0977c536bc1b";
|
||||
sha256 = "0hw94mn2xg2r58afvz1xg990jinv9aa33942zgwq54qwj61r93hi";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase.qtsvg qtbase.qtwebkit qtbase.qttools
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export LRELEASE="lrelease"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://notepadqq.altervista.org/";
|
||||
description = "Notepad++-like editor for the Linux desktop";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ rszibele ];
|
||||
};
|
||||
}
|
|
@ -5,11 +5,11 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "hugin-2016.0.0";
|
||||
name = "hugin-2016.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/hugin/${name}.tar.bz2";
|
||||
sha256 = "1rk5bgsvszv9bza46jxwr3i3qgiha2rza5v8lbwkqn4b4idv0c5h";
|
||||
sha256 = "058zd63vx29yrx2pphbbll7kzcxkai22q26lpw13rn4lvp41pasl";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
29
pkgs/applications/graphics/imlibsetroot/default.nix
Normal file
29
pkgs/applications/graphics/imlibsetroot/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ stdenv, fetchurl, libX11, libXinerama, imlib2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "imlibsetroot-${version}";
|
||||
version = "1.2";
|
||||
src = fetchurl {
|
||||
url = "http://robotmonkeys.net/wp-content/uploads/2010/03/imlibsetroot-12.tar.gz";
|
||||
sha256 = "8c1b3b7c861e4d865883ec13a96b8e4ab22464a87d4e6c67255b17a88e3cfd1c";
|
||||
};
|
||||
|
||||
buildInputs = [ libX11 imlib2 libXinerama ];
|
||||
buildPhase = ''
|
||||
gcc -g imlibsetroot.c -o imlibsetroot \
|
||||
`imlib2-config --cflags` `imlib2-config --libs` \
|
||||
-I/include/X11/extensions -lXinerama -lX11
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install -m 755 imlibsetroot $out/bin
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A Xinerama Aware Background Changer";
|
||||
homepage = "http://robotmonkeys.net/2010/03/30/imlibsetroot/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ lucas8 ];
|
||||
};
|
||||
}
|
84
pkgs/applications/misc/cpp-ethereum/default.nix
Normal file
84
pkgs/applications/misc/cpp-ethereum/default.nix
Normal file
|
@ -0,0 +1,84 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, jsoncpp
|
||||
, libjson_rpc_cpp
|
||||
, curl
|
||||
, boost
|
||||
, leveldb
|
||||
, cryptopp
|
||||
, libcpuid
|
||||
, opencl-headers
|
||||
, ocl-icd
|
||||
, miniupnpc
|
||||
, libmicrohttpd
|
||||
, gmp
|
||||
, mesa
|
||||
, extraCmakeFlags ? []
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cpp-ethereum-${version}";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ethereum";
|
||||
repo = "cpp-ethereum";
|
||||
rev = "62ab9522e58df9f28d2168ea27999a214b16ea96";
|
||||
sha256 = "1fxgpqhmjhpv0zzs1m3yf9h8mh25dqpa7pmcfy7f9qiqpfdr4zq9";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" extraCmakeFlags ];
|
||||
|
||||
configurePhase = ''
|
||||
export BOOST_INCLUDEDIR=${boost.dev}/include
|
||||
export BOOST_LIBRARYDIR=${boost.out}/lib
|
||||
|
||||
mkdir -p Build/Install
|
||||
pushd Build
|
||||
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/Install $cmakeFlags
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
runPath = with stdenv.lib; makeLibraryPath ([ stdenv.cc.cc ] ++ buildInputs);
|
||||
|
||||
installPhase = ''
|
||||
make install
|
||||
|
||||
mkdir -p $out
|
||||
|
||||
for f in Install/lib/*.so* $(find Install/bin -executable -type f); do
|
||||
patchelf --set-rpath $runPath:$out/lib $f
|
||||
done
|
||||
|
||||
cp -r Install/* $out
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
cmake
|
||||
jsoncpp
|
||||
libjson_rpc_cpp
|
||||
curl
|
||||
boost
|
||||
leveldb
|
||||
cryptopp
|
||||
libcpuid
|
||||
opencl-headers
|
||||
ocl-icd
|
||||
miniupnpc
|
||||
libmicrohttpd
|
||||
gmp
|
||||
mesa
|
||||
];
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
decription = "Ethereum C++ client";
|
||||
homepage = https://github.com/ethereum/cpp-ethereum;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ artuuge ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -3,14 +3,14 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "11";
|
||||
version = "12";
|
||||
termite = stdenv.mkDerivation {
|
||||
name = "termite-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/thestinger/termite";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "1cw4yw7n9m2si8b7zcfyz9pyihncabxm5g39v1mxslfajxgwzmd8";
|
||||
sha256 = "0s6dyg3vcqk5qcx90bs24wdnd3p56rdjdcanx4pcxvp6ksjl61jz";
|
||||
};
|
||||
|
||||
postPatch = "sed '1i#include <math.h>' -i termite.cc";
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
{ stdenv
|
||||
, fetchgit
|
||||
, cmake
|
||||
, boost
|
||||
, gmp
|
||||
, jsoncpp
|
||||
, leveldb
|
||||
, cryptopp
|
||||
, libcpuid
|
||||
, miniupnpc
|
||||
, libjson_rpc_cpp
|
||||
, curl
|
||||
, libmicrohttpd
|
||||
, mesa
|
||||
|
||||
, withOpenCL ? false
|
||||
, opencl-headers ? null
|
||||
, ocl-icd ? null
|
||||
|
||||
, withGUI ? false
|
||||
, qtwebengine ? null
|
||||
, qtbase ? null
|
||||
, qtdeclarative ? null
|
||||
|
||||
, withProfiling ? false
|
||||
, gperftools ? null
|
||||
|
||||
, withEVMJIT ? false
|
||||
, llvm ? null
|
||||
, zlib ? null
|
||||
, ncurses ? null
|
||||
|
||||
, extraCmakeFlags ? []
|
||||
}:
|
||||
|
||||
assert withOpenCL -> (opencl-headers != null) && (ocl-icd != null);
|
||||
assert withGUI -> (qtwebengine != null) && (qtbase != null) && (qtdeclarative != null);
|
||||
assert withProfiling -> (gperftools != null);
|
||||
assert withEVMJIT -> (llvm != null) && (zlib != null) && (ncurses != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cpp-ethereum-${version}";
|
||||
version = "1.2.9";
|
||||
|
||||
src = fetchgit {
|
||||
url = https://github.com/ethereum/webthree-umbrella.git;
|
||||
rev = "850479b159a0bfa316fd261ab96b0a043acd766c";
|
||||
sha256 = "0k8w8gqzy71x77p0p85r38gfdnzrlzk2yvb3ablml9ppg4qb4ch5";
|
||||
};
|
||||
|
||||
cmakeFlags = with stdenv.lib; concatStringsSep " " (flatten [
|
||||
"-DGUI=${toString withGUI}"
|
||||
"-DETHASHCL=${toString withOpenCL}"
|
||||
"-DPROFILING=${toString withProfiling}"
|
||||
"-DEVMJIT=${toString withEVMJIT}"
|
||||
(optional withOpenCL [
|
||||
"-DCMAKE_INCLUDE_PATH=${opencl-headers}/include"
|
||||
"-DCMAKE_LIBRARY_PATH=${ocl-icd}/lib"
|
||||
])
|
||||
(optional withEVMJIT "-DCMAKE_PREFIX_PATH=${llvm}")
|
||||
extraCmakeFlags
|
||||
]);
|
||||
|
||||
configurePhase = ''
|
||||
export BOOST_INCLUDEDIR=${boost.dev}/include
|
||||
export BOOST_LIBRARYDIR=${boost.out}/lib
|
||||
|
||||
mkdir -p Build/Install
|
||||
pushd Build
|
||||
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/Install $cmakeFlags
|
||||
'';
|
||||
|
||||
buildInputs = with stdenv.lib; [
|
||||
cmake
|
||||
boost
|
||||
gmp
|
||||
jsoncpp
|
||||
leveldb
|
||||
cryptopp
|
||||
libcpuid
|
||||
miniupnpc
|
||||
libjson_rpc_cpp
|
||||
curl
|
||||
libmicrohttpd
|
||||
mesa
|
||||
] ++ optionals withOpenCL [ opencl-headers ocl-icd ]
|
||||
++ optionals withGUI [ qtwebengine qtbase qtdeclarative ]
|
||||
++ optional withProfiling gperftools
|
||||
++ optionals withEVMJIT [ llvm zlib ncurses ];
|
||||
|
||||
runPath = with stdenv.lib; (makeLibraryPath (flatten [ stdenv.cc.cc buildInputs ]));
|
||||
|
||||
installPhase = ''
|
||||
make install
|
||||
|
||||
mkdir -p $out
|
||||
|
||||
for f in Install/lib/*.so* $(find Install/bin -executable -type f); do
|
||||
patchelf --set-rpath $runPath:$out/lib $f
|
||||
done
|
||||
|
||||
cp -r Install/* $out
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
decription = "Umbrella project for the Ethereum C++ implementation";
|
||||
homepage = https://github.com/ethereum/webthree-umbrella.git;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ artuuge ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -94,6 +94,8 @@ stdenv.mkDerivation rec {
|
|||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
outputs = [ "out" ] ++ lib.optional is-i686 "sa";
|
||||
|
||||
installPhase = ''
|
||||
|
|
23
pkgs/applications/networking/c14/default.nix
Normal file
23
pkgs/applications/networking/c14/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "c14-cli-2016-09-09";
|
||||
goPackagePath = "github.com/online-net/c14-cli";
|
||||
subPackages = [ "cmd/c14" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "online-net";
|
||||
repo = "c14-cli";
|
||||
rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
|
||||
sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "C14 is designed for data archiving & long-term backups.";
|
||||
homepage = "https://www.online.net/en/c14";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ apeyroux ];
|
||||
};
|
||||
}
|
65
pkgs/applications/networking/c14/deps.nix
Normal file
65
pkgs/applications/networking/c14/deps.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
[
|
||||
{
|
||||
goPackagePath = "github.com/davecgh/go-spew";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/davecgh/go-spew";
|
||||
rev = "6d212800a42e8ab5c146b8ace3490ee17e5225f9";
|
||||
sha256 = "01i0n1s4j7khb7n6mz2wymniz37q0vbzkgfv7rbi6p9hpg227q93";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/fatih/color";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/fatih/color";
|
||||
rev = "87d4004f2ab62d0d255e0a38f1680aa534549fe3";
|
||||
sha256 = "0d51avdl4z38f7jd8qmzrzyh4gxkcjpxd0vvma9zfqhmqy15jqhb";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mattn/go-colorable";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-colorable";
|
||||
rev = "ed8eb9e318d7a84ce5915b495b7d35e0cfe7b5a8";
|
||||
sha256 = "034fhyqmiqmn0v9gdbdmm0ca5d0pki2q1ch1rd34p9kh9574mjyq";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mattn/go-isatty";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-isatty";
|
||||
rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8";
|
||||
sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/online-net/c14-cli";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/online-net/c14-cli";
|
||||
rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c";
|
||||
sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/pmezard/go-difflib";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/pmezard/go-difflib";
|
||||
rev = "792786c7400a136282c1664665ae0a8db921c6c2";
|
||||
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/stretchr/testify";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/stretchr/testify";
|
||||
rev = "d77da356e56a7428ad25149ca77381849a6a5232";
|
||||
sha256 = "11id286pkzyswxcx2xz6185fzh0nz6yzkk055dd6z02gvinl6pqa";
|
||||
};
|
||||
}
|
||||
]
|
|
@ -21,11 +21,11 @@ with stdenv.lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gajim-${version}";
|
||||
version = "0.16.5";
|
||||
version = "0.16.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2";
|
||||
sha256 = "14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55";
|
||||
sha256 = "1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "purple-hangouts-hg-${version}";
|
||||
version = "2016-08-31";
|
||||
version = "2016-10-01";
|
||||
|
||||
src = fetchhg {
|
||||
url = "https://bitbucket.org/EionRobb/purple-hangouts/";
|
||||
rev = "1c0286e48e92";
|
||||
sha256 = "0iv1isa8brm89nvmwrvxjm5ymx4svqrz3gf5yciqzf6kpc82gnxr";
|
||||
rev = "00e28b7";
|
||||
sha256 = "08jllhhww3cqlw6dg9w1hli3havdfzb47grcdl184537gl2bl49d";
|
||||
};
|
||||
|
||||
buildInputs = [ pidgin glib json_glib protobuf protobufc ];
|
||||
|
|
|
@ -20,12 +20,12 @@ let
|
|||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.5";
|
||||
version = "1.6";
|
||||
name = "weechat-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
|
||||
sha256 = "0n4cbhh9a7qq6y70ac9b4r0kb7hydwsic99h45ppr2jly322fvij";
|
||||
sha256 = "0d1wcpsxx13clcf1ygcn5hsa1pjkck4xznbjbxphbdxd5whsbv3k";
|
||||
};
|
||||
|
||||
cmakeFlags = with stdenv.lib; []
|
||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
|||
++ optional tclSupport tcl
|
||||
++ extraBuildInputs;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt";
|
||||
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}";
|
||||
|
||||
postInstall = with stdenv.lib; ''
|
||||
NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
{ stdenv, fetchurl, cmake, pkgconfig, makeWrapper
|
||||
, glib, gtk2, gettext, libxkbfile, libgnome_keyring, libX11
|
||||
, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem }:
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, makeWrapper
|
||||
, glib, gtk3, gettext, libxkbfile, libgnome_keyring, libX11
|
||||
, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem
|
||||
, pcre, webkitgtk, libdbusmenu-gtk3, libappindicator-gtk3
|
||||
, libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
|
||||
, libsecret, spice_protocol, spice_gtk, epoxy, at_spi2_core
|
||||
, openssl }:
|
||||
|
||||
let
|
||||
version = "1.0.0";
|
||||
version = "1.2.0-rcgit.15";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "remmina";
|
||||
|
@ -15,29 +19,45 @@ let
|
|||
categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
|
||||
};
|
||||
|
||||
# Latest release of remmina refers to thing that aren't yet in
|
||||
# a FreeRDP release so we need to build one from git source
|
||||
# See also https://github.com/FreeRDP/Remmina/pull/731
|
||||
# Remove when FreeRDP release catches up with this commit
|
||||
freerdp_git = stdenv.lib.overrideDerivation freerdp (args: {
|
||||
name = "freerdp-git-2016-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeRDP";
|
||||
repo = "FreeRDP";
|
||||
rev = "dbb353db92e7a5cb0be3c73aa950fb1113e627ec";
|
||||
sha256 = "1nhm4v6z9var9hasp4bkmhvlrksbdizx95swx19shizfc82s9g4y";
|
||||
};
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "remmina-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/downloads/FreeRDP/Remmina/Remmina-${version}.tar.gz";
|
||||
sha256 = "7cd0d2d6adbd96c7139da8c4bfc4cf4821e1fa97242bb9cc9db32a53df289731";
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeRDP";
|
||||
repo = "Remmina";
|
||||
rev = "v${version}";
|
||||
sha256 = "07lj6a7x9cqcff18pwfkx8c8iml015zp6sq29dfcxpfg4ai578h0";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake pkgconfig makeWrapper
|
||||
glib gtk2 gettext libxkbfile libgnome_keyring libX11
|
||||
freerdp libssh libgcrypt gnutls ];
|
||||
glib gtk3 gettext libxkbfile libgnome_keyring libX11
|
||||
freerdp_git libssh libgcrypt gnutls
|
||||
pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
|
||||
libvncserver libpthreadstubs libXdmcp libxkbcommon
|
||||
libsecret spice_protocol spice_gtk epoxy at_spi2_core
|
||||
openssl ];
|
||||
|
||||
cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF";
|
||||
|
||||
patches = [ ./lgthread.patch ];
|
||||
cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF -DWINPR_INCLUDE_DIR=${freerdp_git}/include/winpr2";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -pv $out/share/applications
|
||||
mkdir -pv $out/share/icons
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||
cp -r $out/share/remmina/icons/* $out/share/icons
|
||||
wrapProgram $out/bin/remmina --prefix LD_LIBRARY_PATH : "${libX11.out}/lib"
|
||||
'';
|
||||
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
Fix [undefined reference to `g_thread_init'] as suggested by
|
||||
http://ragnermagalhaes.blogspot.ru/2007/09/undefined-reference-to-gthreadinit.html
|
||||
|
||||
diff -ru FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt FreeRDP-Remmina-356c033/remmina/CMakeLists.txt
|
||||
--- FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt 2013-11-05 12:43:27.660276912 +0400
|
||||
+++ FreeRDP-Remmina-356c033/remmina/CMakeLists.txt 2013-11-05 12:53:39.607018349 +0400
|
||||
@@ -132,6 +132,8 @@
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgthread-2.0" )
|
||||
+
|
||||
add_subdirectory(po)
|
||||
add_subdirectory(icons)
|
||||
add_subdirectory(desktop)
|
||||
|
25
pkgs/applications/networking/sync/rclone/default.nix
Normal file
25
pkgs/applications/networking/sync/rclone/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ stdenv, buildGoPackage, fetchFromGitHub, fetchhg, fetchbzr, fetchsvn }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "rclone-${version}";
|
||||
version = "1.33";
|
||||
|
||||
goPackagePath = "github.com/ncw/rclone";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ncw";
|
||||
repo = "rclone";
|
||||
rev = "v${version}";
|
||||
sha256 = "00y48ww40x73xpdvkzfhllwvbh9a2ffmmkc6ri9343wvmb53laqk";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
meta = {
|
||||
description = "Command line program to sync files and directories to and from major cloud storage";
|
||||
homepage = "http://rclone.org";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
219
pkgs/applications/networking/sync/rclone/deps.nix
Normal file
219
pkgs/applications/networking/sync/rclone/deps.nix
Normal file
|
@ -0,0 +1,219 @@
|
|||
# This file was generated by go2nix.
|
||||
[
|
||||
{
|
||||
goPackagePath = "bazil.org/fuse";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/bazil/fuse";
|
||||
rev = "371fbbdaa8987b715bdd21d6adc4c9b20155f748";
|
||||
sha256 = "1x5p301py7mcxgwklfm6pqqkzssln0nfzllng49pnk60m03ilp4w";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "cloud.google.com/go";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://code.googlesource.com/gocloud";
|
||||
rev = "90296fd601ebfc594192e722a022663b0c3f8756";
|
||||
sha256 = "0qg0d1afhqmpfaq2lh29c87d18s5148yshg0s295dhzdn1m9nhww";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/Unknwon/goconfig";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/Unknwon/goconfig";
|
||||
rev = "5aa4f8cd5a472c2411c778b4680f59f2223f1966";
|
||||
sha256 = "0r6na17sz762c1dyn6gb16v2zhvzg6krmz7pcjg1m0l5wxdf4n0d";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/VividCortex/ewma";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/VividCortex/ewma";
|
||||
rev = "c595cd886c223c6c28fc9ae2727a61b5e4693d85";
|
||||
sha256 = "0f09886vm4rkhgqqh2b20r8rws4syvny3la107hh6qby027bpab2";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/aws/aws-sdk-go";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/aws/aws-sdk-go";
|
||||
rev = "13a12060f716145019378a10e2806c174356b857";
|
||||
sha256 = "09yl85kk2y4ayk44af5rbnkq4vy82vbh2z5ac4vpl2vgv7zyh46h";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/cpuguy83/go-md2man";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/cpuguy83/go-md2man";
|
||||
rev = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa";
|
||||
sha256 = "1rm3zjrmfpzy0l3qp02xmd5pqzl77pdql9pbxhl0k1qw2vfzrjv6";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/google/go-querystring";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/google/go-querystring";
|
||||
rev = "9235644dd9e52eeae6fa48efd539fdc351a0af53";
|
||||
sha256 = "0q398679fwp7vlnpd2rlzz452a7a4qvpcspak81psfl3xwimpzgq";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mreiferson/go-httpclient";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mreiferson/go-httpclient";
|
||||
rev = "31f0106b4474f14bc441575c19d3a5fa21aa1f6c";
|
||||
sha256 = "1iz95p7fl43smyh1lzjnwk6gq9y7q15m2qdkf0f4kxf3x5731v9i";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/ncw/go-acd";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/ncw/go-acd";
|
||||
rev = "56da839497f9854a91f99fe752c33c7977a6f48b";
|
||||
sha256 = "1va6hpl73ps443r0s2icplcx113gkhmi2gbsgpaw2iii5lji5085";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/ncw/swift";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/ncw/swift";
|
||||
rev = "b964f2ca856aac39885e258ad25aec08d5f64ee6";
|
||||
sha256 = "0c86ap1zb56r6g96cnbn5j3i3r96c5l8rl98h3sxlqi5agwp3km4";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/ogier/pflag";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/ogier/pflag";
|
||||
rev = "45c278ab3607870051a2ea9040bb85fcb8557481";
|
||||
sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/pkg/errors";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/pkg/errors";
|
||||
rev = "645ef00459ed84a119197bfb8d8205042c6df63d";
|
||||
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/rfjakob/eme";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/rfjakob/eme";
|
||||
rev = "601d0e278ceda9aa2085a61c9265f6e690ef5255";
|
||||
sha256 = "1ryh5f2a42psrqcpjh73shk3p0mva2vcyyfav4nhxmfqall77k5z";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/skratchdot/open-golang";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/skratchdot/open-golang";
|
||||
rev = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c";
|
||||
sha256 = "1b67imqbsdvg19vif1q1dfmapxy3v2anagacbql95fwnnw0v8jga";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/spf13/cobra";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/cobra";
|
||||
rev = "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744";
|
||||
sha256 = "02bgp0yy9bi05k2in9axqi3db1c6mjffdsmki51pn9iryxz4zkh3";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/spf13/pflag";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/spf13/pflag";
|
||||
rev = "c7e63cf4530bcd3ba943729cee0efeff2ebea63f";
|
||||
sha256 = "197mlkgb01zk86fxfl8r8maymcxsspqblg7hmngjxf7ivdid1i1l";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/stacktic/dropbox";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/stacktic/dropbox";
|
||||
rev = "58f839b21094d5e0af7caf613599830589233d20";
|
||||
sha256 = "1psmxpnn40ri9bgjvivljnd4p977f635mh3w7m5mglxxgc9392pi";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/tsenart/tb";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/tsenart/tb";
|
||||
rev = "19f4c3d79d2bd67d0911b2e310b999eeea4454c1";
|
||||
sha256 = "148vy4xij5qm8dq5plyczx2wbpi4gpg8ksr5r3b4m8j0z1kjws8y";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/crypto";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/crypto";
|
||||
rev = "5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3";
|
||||
sha256 = "18c1vpqlj10z1id66hglgnv51d9gwphgsdvxgghc6mcm01f1g5xj";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/net";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "6acef71eb69611914f7a30939ea9f6e194c78172";
|
||||
sha256 = "1fcsv50sbq0lpzrhx3m9jw51wa255fsbqjwsx9iszq4d0gysnnvc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/oauth2";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/oauth2";
|
||||
rev = "3c3a985cb79f52a3190fbc056984415ca6763d01";
|
||||
sha256 = "0c7x8wkya56z03j2qfm61932npsddgqyggi75hkla9755d1inqlv";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/text";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/text";
|
||||
rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34";
|
||||
sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "google.golang.org/api";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://code.googlesource.com/google-api-go-client";
|
||||
rev = "eb84d1a029af1654777e7ba65c979085305c3e38";
|
||||
sha256 = "0ldmzcx5lxa81lcr39djcvyhd0ls11jlswj5877rinq3505ayf5l";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/stretchr/testify/";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/stretchr/testify";
|
||||
rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c";
|
||||
sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl";
|
||||
};
|
||||
}
|
||||
]
|
31
pkgs/applications/office/beancount/bean-add.nix
Normal file
31
pkgs/applications/office/beancount/bean-add.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ stdenv, fetchFromGitHub, python3Packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bean-add-2016-10-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simon-v";
|
||||
repo = "bean-add";
|
||||
rev = "41deacc09b992db5eede34fefbfb2c0faeba1652";
|
||||
sha256 = "09xdsskk5rc3xsf1v1vq7nkdxrxy8w2fixx2vdv8c97ak6a4hrca";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ python readline ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin/
|
||||
cp bean-add $out/bin/bean-add
|
||||
chmod +x $out/bin/bean-add
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/simon-v/bean-add/;
|
||||
description = "beancount transaction entry assistant";
|
||||
|
||||
# The (only) source file states:
|
||||
# License: "Do what you feel is right, but don't be a jerk" public license.
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
|
||||
};
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
rec {
|
||||
major = "5";
|
||||
minor = "2";
|
||||
patch = "1";
|
||||
patch = "2";
|
||||
tweak = "2";
|
||||
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
|
@ -12,6 +12,6 @@ rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "14g2xwpid4vsgmc69rs7hz1wx96dfkq0cbm32vjgljsm7a19qfc1";
|
||||
sha256 = "1q6rv935g633ngg10hzi23sg0wqfq2apyffagk7mj1kan2hflljr";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -42,14 +42,14 @@ let
|
|||
|
||||
translations = fetchSrc {
|
||||
name = "translations";
|
||||
sha256 = "1ahdz1ynbab001441lqqlfphysr867rjcndq93z66mr5v3r1spvm";
|
||||
sha256 = "0nxwf3b63gzb04svb6z1hi3qf95i90pwda5gpmlrfrq6250n3bpi";
|
||||
};
|
||||
|
||||
# TODO: dictionaries
|
||||
|
||||
help = fetchSrc {
|
||||
name = "help";
|
||||
sha256 = "0mln1mqy3c7k4c449w5knjnc4dv0ckl0i7q47p2pldxjjf5n2887";
|
||||
sha256 = "1gm23i0snhcm4svciypm0qiviiqv9zpiyplkh22baccs7li3kih1";
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -243,6 +243,7 @@ in stdenv.mkDerivation rec {
|
|||
libxshmfence libatomic_ops graphite2 harfbuzz
|
||||
librevenge libe-book libmwaw glm glew ncurses
|
||||
libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper
|
||||
gdb
|
||||
]
|
||||
++ lib.optional kdeIntegration kde4.kdelibs;
|
||||
|
||||
|
|
|
@ -8,13 +8,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "openshot-qt-${version}";
|
||||
version = "2.0.7";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenShot";
|
||||
repo = "openshot-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "1s4b61fd8cyjy8kvc25mqd97dkxx6gqmz02i42rrcriz51pw8wgh";
|
||||
sha256 = "1cyr5m1n6qcb9bzkhh3v6ka91a6x9c50dl5j0ilrc8vj0mb43g8c";
|
||||
};
|
||||
|
||||
buildInputs = [doxygen python3Packages.python makeWrapper ffmpeg];
|
||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
|||
echo "exec ${python3Packages.python.interpreter} $(toPythonPath $out)/launch.py" >>$out/bin/openshot-qt
|
||||
chmod +x $out/bin/openshot-qt
|
||||
wrapProgram $out/bin/openshot-qt \
|
||||
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip}):$(toPythonPath ${python3Packages.httplib2}):$PYTHONPATH"
|
||||
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip}):$(toPythonPath ${python3Packages.httplib2}):$(toPythonPath ${python3Packages.pyzmq}):$PYTHONPATH"
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
|
|
@ -5,13 +5,13 @@ with stdenv.lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libopenshot-audio-${version}";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenShot";
|
||||
repo = "libopenshot-audio";
|
||||
rev = "v${version}";
|
||||
sha256 = "0pgw7vzx3znglwm58187ybhg5maa13n4xcy5hrhzfsp8bqhrwkc7";
|
||||
sha256 = "0dxyhnqkjc5y4hra8s17q9lafll6fx0pgibmmjznjm70whqcj8a6";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{stdenv, fetchurl, fetchFromGitHub, callPackage, cmake, doxygen
|
||||
, imagemagick, ffmpeg, qt55, swig, python3, ruby, unittest-cpp}:
|
||||
, imagemagick, ffmpeg, qt55, swig, python3, ruby, unittest-cpp
|
||||
, cppzmq, czmqpp
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
|
@ -8,13 +10,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libopenshot-${version}";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenShot";
|
||||
repo = "libopenshot";
|
||||
rev = "v${version}";
|
||||
sha256 = "12nfkris7spn8n4s8fvy2f6yk1hqh97wzh1z3fsdxldg4gppi903";
|
||||
sha256 = "00051ipb8y4z9j5m5smwm1ahv755k0glarwic8fv5b9fzryfbrdm";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [
|
||||
cmake doxygen
|
||||
imagemagick ffmpeg qt55.qtbase qt55.qtmultimedia swig python3 ruby
|
||||
unittest-cpp
|
||||
unittest-cpp cppzmq czmqpp
|
||||
];
|
||||
|
||||
LIBOPENSHOT_AUDIO_DIR = "${libopenshot_audio}";
|
||||
|
|
|
@ -22,7 +22,11 @@ assert (kernel.version == grsecPatch.kver);
|
|||
overrideDerivation (kernel.override {
|
||||
inherit modDirVersion;
|
||||
kernelPatches = [ grsecPatch ] ++ kernelPatches ++ (kernel.kernelPatches or []);
|
||||
inherit extraConfig;
|
||||
extraConfig = ''
|
||||
GRKERNSEC y
|
||||
PAX y
|
||||
${extraConfig}
|
||||
'';
|
||||
ignoreConfigErrors = true;
|
||||
}) (attrs: {
|
||||
nativeBuildInputs = (lib.chooseDevOutputs [ gmp libmpc mpfr ]) ++ (attrs.nativeBuildInputs or []);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ stdenv, fetchurl, intltool, pkgconfig, gnome3, gtk3
|
||||
, gobjectIntrospection, gdk_pixbuf, librsvg, autoreconfHook
|
||||
, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, file, libsoup }:
|
||||
, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, file, libsoup
|
||||
, webkitgtk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit (import ./src.nix fetchurl) name src;
|
||||
|
@ -12,7 +13,8 @@ stdenv.mkDerivation rec {
|
|||
gnome3.geocode_glib libchamplain file libsoup
|
||||
gdk_pixbuf librsvg autoreconfHook
|
||||
gnome3.gsettings_desktop_schemas gnome3.evolution_data_server
|
||||
gnome3.gnome_online_accounts gnome3.defaultIconTheme ];
|
||||
gnome3.gnome_online_accounts gnome3.defaultIconTheme
|
||||
webkitgtk ];
|
||||
|
||||
patches = [ ./soup.patch ];
|
||||
|
||||
|
|
|
@ -39,12 +39,12 @@ let baseAttrs = rec {
|
|||
in stdenv.mkDerivation ( baseAttrs
|
||||
// stdenv.lib.optionalAttrs selectTextPatch rec {
|
||||
name = "vte-ng-${version}";
|
||||
version = "0.42.4.a";
|
||||
version = "0.44.1b-ng";
|
||||
src = fetchFromGitHub {
|
||||
owner = "thestinger";
|
||||
repo = "vte-ng";
|
||||
rev = version;
|
||||
sha256 = "1w91lz30j5lrskp9ds5j3nn27m5mpdpn7nlcvf5y1w63mpmjg8k1";
|
||||
sha256 = "0p61znma9742fd3c6b44rq7j6mhpr6gx2b9rldm3jhb62ss4vsyy";
|
||||
};
|
||||
# slightly hacky; I couldn't make it work with autoreconfHook
|
||||
configureScript = "./autogen.sh";
|
||||
|
|
|
@ -46,7 +46,7 @@ let
|
|||
];
|
||||
|
||||
inherit (pkgs) glib gtk2 webkitgtk24x webkitgtk212x gtk3 gtkmm3 libcanberra_gtk2
|
||||
clutter clutter-gst clutter_gtk cogl;
|
||||
clutter clutter-gst clutter_gtk cogl gtkvnc;
|
||||
inherit (pkgs.gnome2) ORBit2;
|
||||
libsoup = pkgs.libsoup.override { gnomeSupport = true; };
|
||||
libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
|
||||
|
@ -54,7 +54,6 @@ let
|
|||
gnome3 = self // { recurseForDerivations = false; };
|
||||
gtk = gtk3;
|
||||
gtkmm = gtkmm3;
|
||||
gtkvnc = pkgs.gtkvnc.override { enableGTK3 = true; };
|
||||
vala = pkgs.vala_0_32;
|
||||
gegl_0_3 = pkgs.gegl_0_3.override { inherit gtk; };
|
||||
webkitgtk = webkitgtk212x;
|
||||
|
@ -268,7 +267,6 @@ let
|
|||
glade = callPackage ./apps/glade { };
|
||||
|
||||
gnome-boxes = callPackage ./apps/gnome-boxes {
|
||||
gtkvnc = pkgs.gtkvnc.override { enableGTK3 = true; };
|
||||
spice_gtk = pkgs.spice_gtk;
|
||||
};
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
WGET_ARGS=( http://download.kde.org/stable/plasma/5.7.4/ -A '*.tar.xz' )
|
||||
WGET_ARGS=( http://download.kde.org/stable/plasma/5.7.5/ -A '*.tar.xz' )
|
||||
|
|
|
@ -21,7 +21,7 @@ plasmaPackage {
|
|||
kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice
|
||||
kwayland kwidgetsaddons kwindowsystem kxmlgui libinput libICE libSM
|
||||
plasma-framework qtdeclarative qtmultimedia qtscript qtx11extras udev
|
||||
wayland xcb-util-cursor
|
||||
wayland xcb-util-cursor xwayland
|
||||
];
|
||||
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||
postPatch = ''
|
||||
|
|
|
@ -3,315 +3,323 @@
|
|||
|
||||
{
|
||||
bluedevil = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/bluedevil-5.7.4.tar.xz";
|
||||
sha256 = "0f6hdl5z9nfakhgsh9lgf1j63wnrw28wdqibahra6n97z5q6ymn9";
|
||||
name = "bluedevil-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/bluedevil-5.7.5.tar.xz";
|
||||
sha256 = "1kvdaf1dkzafc3kkgwj0jzdkd897jfdqpp9spk9ywg7pd3ds072x";
|
||||
name = "bluedevil-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/breeze-5.7.4.tar.xz";
|
||||
sha256 = "0sjcbn87zk1xnkw19byhqwkldz9j1j10421akc77cwla0qmz1586";
|
||||
name = "breeze-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/breeze-5.7.5.tar.xz";
|
||||
sha256 = "0amxc3g4bb3mg5fai8ssjfvpxd86kx9zz45qpxpgp4jb5g6n03w2";
|
||||
name = "breeze-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-grub = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/breeze-grub-5.7.4.tar.xz";
|
||||
sha256 = "0gixa1myhim3g06jpvbp5ygkmg1pq8bncigc9njc2fxxy8naj8jf";
|
||||
name = "breeze-grub-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/breeze-grub-5.7.5.tar.xz";
|
||||
sha256 = "03wgxxgpgkcx5jrm13h3sc1f5b8zwa2jqzvmc1fpb3y0m4qaajvy";
|
||||
name = "breeze-grub-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-gtk = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/breeze-gtk-5.7.4.tar.xz";
|
||||
sha256 = "0igrr82cprk69g19h2lgv265780jbjlgbj1rh1j6hpfccwrwhg0x";
|
||||
name = "breeze-gtk-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/breeze-gtk-5.7.5.tar.xz";
|
||||
sha256 = "0vg60b999z9pli5ng8jnb6svy80jv9c2sn63b7a6xj59xajclzxc";
|
||||
name = "breeze-gtk-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-plymouth = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/breeze-plymouth-5.7.4.tar.xz";
|
||||
sha256 = "02qn0fvkcq4gd170pakm0ypfmwj51wjascdhylvn9aclmac3j7zk";
|
||||
name = "breeze-plymouth-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/breeze-plymouth-5.7.5.tar.xz";
|
||||
sha256 = "08bxsfljpaz3qpy7p6zxs1bfnssjs951kh3v0qb5wwa4zpm04zpd";
|
||||
name = "breeze-plymouth-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
discover = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/discover-5.7.4.tar.xz";
|
||||
sha256 = "00w4n7c7k0lmjkqa6554sg0fh91n8aj01srcq6dz5h5fx1n858wz";
|
||||
name = "discover-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/discover-5.7.5.tar.xz";
|
||||
sha256 = "1i3qmyxl4rs3849hsgda85x6lckbl4ycal3dl3s6k1mx9fk6hm6c";
|
||||
name = "discover-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kactivitymanagerd = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kactivitymanagerd-5.7.4.tar.xz";
|
||||
sha256 = "10v4w8cadrhnc7xpy8j0s1fi10gmcv1vvisi6lc8vqzdil2hk89b";
|
||||
name = "kactivitymanagerd-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kactivitymanagerd-5.7.5.tar.xz";
|
||||
sha256 = "1ly57792c27vvia62gmnc3xrpav9ysfzql8xrapw09vdvyp0yc6r";
|
||||
name = "kactivitymanagerd-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kde-cli-tools = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kde-cli-tools-5.7.4.tar.xz";
|
||||
sha256 = "0q2dz8qx2zqsc7d185zvmv1x5wz1mvkb8zs6i2454l2l1jy6934p";
|
||||
name = "kde-cli-tools-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kde-cli-tools-5.7.5.tar.xz";
|
||||
sha256 = "0jmav5mkn3qvv8a52kpfyn0065g4wnqiw2r7gw9fh0qh4wckd85s";
|
||||
name = "kde-cli-tools-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kdecoration = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kdecoration-5.7.4.tar.xz";
|
||||
sha256 = "160cb3ra9vgxydrgskvsacm50jhwnb0caqmfaj387gcpykxxayl1";
|
||||
name = "kdecoration-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kdecoration-5.7.5.tar.xz";
|
||||
sha256 = "091h6aivk58k66cpry6h3i4w3vsmpl0d3i9r9zz679j0mz5vghxf";
|
||||
name = "kdecoration-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kde-gtk-config = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kde-gtk-config-5.7.4.tar.xz";
|
||||
sha256 = "0l69d6rj0r9mga2p6rf9vwsalcir140xb3szy2nhdrgqmrka3mbl";
|
||||
name = "kde-gtk-config-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kde-gtk-config-5.7.5.tar.xz";
|
||||
sha256 = "1r82js7b2js97v803qky6cybb1239c0628m4a11am81191d0a0rn";
|
||||
name = "kde-gtk-config-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kdeplasma-addons = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kdeplasma-addons-5.7.4.tar.xz";
|
||||
sha256 = "0vc865f3903g93r5w8phi9l0rnlblq68nirwblic2j2a2gyjsn4r";
|
||||
name = "kdeplasma-addons-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kdeplasma-addons-5.7.5.tar.xz";
|
||||
sha256 = "04qnbharl3z74d8jwrvky02mrzcy9h92827a8qcx6xis9kfvlrh0";
|
||||
name = "kdeplasma-addons-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kgamma5 = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kgamma5-5.7.4.tar.xz";
|
||||
sha256 = "15y86qhgrfs7p8imabsf45l7rpfis1mcjg4g22phizk17w4rzk92";
|
||||
name = "kgamma5-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kgamma5-5.7.5.tar.xz";
|
||||
sha256 = "1x2vn26f6krb9zxkyj7kxj4wlmjqjslvqncvmwbsi4lxpnsrsxsk";
|
||||
name = "kgamma5-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
khotkeys = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/khotkeys-5.7.4.tar.xz";
|
||||
sha256 = "1lggfcgpq4x1hdvlcjmi3k63rffprhrpjkfvjhryhx62648xb24a";
|
||||
name = "khotkeys-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/khotkeys-5.7.5.tar.xz";
|
||||
sha256 = "0c54zkib69dg31llipbkabd40hs16p0ff4h6mpw3x3iqj2nmxjpg";
|
||||
name = "khotkeys-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kinfocenter = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kinfocenter-5.7.4.tar.xz";
|
||||
sha256 = "0j4l5yw0h0iwqqcfyah1wh5mnrg47nhqmqza7dz13b48n0bpg31l";
|
||||
name = "kinfocenter-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kinfocenter-5.7.5.tar.xz";
|
||||
sha256 = "0f2j25jvqjw4qy7xaqz1l0sba9vsjp6x6f32ykblnb1kbmbzbkgr";
|
||||
name = "kinfocenter-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kmenuedit = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kmenuedit-5.7.4.tar.xz";
|
||||
sha256 = "1g8a092kx68spvrys0b8xjyrnx1y94i5lsi51j1cw0ylgjmqsp3p";
|
||||
name = "kmenuedit-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kmenuedit-5.7.5.tar.xz";
|
||||
sha256 = "1midyip0vb9zs4xcyzih5vlj49klkmby3w9ylb2mq4bvp9h62bx1";
|
||||
name = "kmenuedit-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kscreen = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kscreen-5.7.4.tar.xz";
|
||||
sha256 = "1i0c0znfr2y7b5aczmkym5aflh08sv1f7nfi3j6xmbzcxpfdvidy";
|
||||
name = "kscreen-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kscreen-5.7.5.tar.xz";
|
||||
sha256 = "1hjnbqgng19k5bxfx9m5kbm6hx6rn0hr7ya00i8nj8qvb4l8q7cd";
|
||||
name = "kscreen-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kscreenlocker = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kscreenlocker-5.7.4.tar.xz";
|
||||
sha256 = "03giy5fxy11bdz6ww5hmgwhnlngcrzk7ahp4l1sd9yf3fd4rav6q";
|
||||
name = "kscreenlocker-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kscreenlocker-5.7.5.tar.xz";
|
||||
sha256 = "1q8dpfsprrd8ryindi8xpssc8sn2j7fiwzx6awmgxa3ibz0y7zv5";
|
||||
name = "kscreenlocker-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
ksshaskpass = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/ksshaskpass-5.7.4.tar.xz";
|
||||
sha256 = "15b0jhpkg086rspjmcpqi0ylnvxvl9wylz13vkaqdm6408d558gg";
|
||||
name = "ksshaskpass-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/ksshaskpass-5.7.5.tar.xz";
|
||||
sha256 = "0f89s06phnzwn4k4y51haqcw8i5bp6rh1ns0qpyps03vpalqhwln";
|
||||
name = "ksshaskpass-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
ksysguard = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/ksysguard-5.7.4.tar.xz";
|
||||
sha256 = "1r96zrplcbfb37r8vxvm2hzq638g979xx9y0jrsyhpzxhxgv4w1w";
|
||||
name = "ksysguard-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/ksysguard-5.7.5.tar.xz";
|
||||
sha256 = "0b9y98043craw4afzs63lw7xgi0fbylyr6iv24zxxyig50n8frs7";
|
||||
name = "ksysguard-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kwallet-pam = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kwallet-pam-5.7.4.tar.xz";
|
||||
sha256 = "1p3py66qw09s9pcrbn0x356c13w24nrhkgypz0v3kyr51ia1r1jr";
|
||||
name = "kwallet-pam-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kwallet-pam-5.7.5.tar.xz";
|
||||
sha256 = "1ljxfp8w20329c67y0hkk9ar4mff0x3329lq2rlj9sdsxrhbn6sa";
|
||||
name = "kwallet-pam-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kwayland-integration = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kwayland-integration-5.7.4.tar.xz";
|
||||
sha256 = "05n0m38rmil1zg5clilsic2pq7973nymcr54w6kh93dzrr4r9ls3";
|
||||
name = "kwayland-integration-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kwayland-integration-5.7.5.tar.xz";
|
||||
sha256 = "1da8qq67nn2bilarxn9g76hys723jrv8p0vazq7dnis786adk1yl";
|
||||
name = "kwayland-integration-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kwin = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kwin-5.7.4.tar.xz";
|
||||
sha256 = "06fmk3jpk3zbig46rzsi5wmxa17z0lnh3r0fk9hxdalxdz4c9ws8";
|
||||
name = "kwin-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kwin-5.7.5.tar.xz";
|
||||
sha256 = "1mi6j7lqdarzih8ib4lxxc9wk4yx0898cl9s6j4rqs8rzz9rh7mb";
|
||||
name = "kwin-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
kwrited = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/kwrited-5.7.4.tar.xz";
|
||||
sha256 = "14c1rw8vmvi4iffqinkz7pgk49g80hw3mhh2mqk5lqj21rnrliqz";
|
||||
name = "kwrited-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/kwrited-5.7.5.tar.xz";
|
||||
sha256 = "0kqjgqq92sd92897sk7a28mzvyjzbismx816llyld6f1lm7saqrs";
|
||||
name = "kwrited-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
libkscreen = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/libkscreen-5.7.4.tar.xz";
|
||||
sha256 = "1jifb6xi3d541y2c3ipx666dr4wa0i9sc59a4s75cdp82322qvsj";
|
||||
name = "libkscreen-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/libkscreen-5.7.5.tar.xz";
|
||||
sha256 = "0z4wk0g7qwr9jq8larpv2y7j7cfklarimjnwdi7hjvgvkjb98671";
|
||||
name = "libkscreen-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
libksysguard = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/libksysguard-5.7.4.tar.xz";
|
||||
sha256 = "1kkfsjzpraj0hc02mrz93jdp3ha2dv0m28jmwrxd7z059slfyfj0";
|
||||
name = "libksysguard-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/libksysguard-5.7.5.tar.xz";
|
||||
sha256 = "0iys51c72lg5v503cpns3vqw915mh43p21185v461qmp63pf9145";
|
||||
name = "libksysguard-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
milou = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/milou-5.7.4.tar.xz";
|
||||
sha256 = "1v117cdsiwg4l6g7x2k0mpgp57a9gc6k95jxxms9d41hqwq8qg6q";
|
||||
name = "milou-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/milou-5.7.5.tar.xz";
|
||||
sha256 = "0wnz2rj27rk272zk12gj3231lljqiq9z9ymkvfza14pqikx2vyq5";
|
||||
name = "milou-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
oxygen = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/oxygen-5.7.4.tar.xz";
|
||||
sha256 = "1g18h5a3vxa7pxp07wg9g0yzddvjcqs7cnrlrb2mj8r4zdxg4nx3";
|
||||
name = "oxygen-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/oxygen-5.7.5.tar.xz";
|
||||
sha256 = "0y6s50w27q94zk9kdf6jy4zicr593ks63dygpjhj0iwll3wqnw39";
|
||||
name = "oxygen-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-desktop = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-desktop-5.7.4.tar.xz";
|
||||
sha256 = "0xm8666acp3149gd9simmbkjpi36fbibpy86ppj0hg26pknc66mr";
|
||||
name = "plasma-desktop-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-desktop-5.7.5.tar.xz";
|
||||
sha256 = "04x6sr6mh0bkzwbq9kvvr94ffijnzymbdsxzm8r3739grk5hbg3y";
|
||||
name = "plasma-desktop-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-integration = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-integration-5.7.4.tar.xz";
|
||||
sha256 = "0h0pmwhkz052dzv7gk9j2a699912agzx39z9iirhigkwniij8q1x";
|
||||
name = "plasma-integration-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-integration-5.7.5.tar.xz";
|
||||
sha256 = "05nfycbzj27q4jcc9qw2d42nxdib73fr7v5ai4agmlrj733bs6nl";
|
||||
name = "plasma-integration-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-mediacenter = {
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-mediacenter-5.7.5.tar.xz";
|
||||
sha256 = "1gv3m1cragvgj6mf1n3zvpjddqxjn8jmqdm657iw87p5qgdzf3fx";
|
||||
name = "plasma-mediacenter-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-nm = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-nm-5.7.4.tar.xz";
|
||||
sha256 = "0p5c4n6xc4dw9393l2an320z85mgg8f9wsa04dxdami2638drq9i";
|
||||
name = "plasma-nm-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-nm-5.7.5.tar.xz";
|
||||
sha256 = "1vpd3bvlvzw1xjs2sxsn4bllc5igxz4102zjnrxhj0r7jrn2ax7b";
|
||||
name = "plasma-nm-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-pa = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-pa-5.7.4.tar.xz";
|
||||
sha256 = "1zk6kry02vfmm4mwznq5gy7xzjlbpvbb4a749z0zq0nkmlpx78d4";
|
||||
name = "plasma-pa-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-pa-5.7.5.tar.xz";
|
||||
sha256 = "09wagng7v33kxlyq8vd498fahcixs00dq22g46243xrf363rsa6i";
|
||||
name = "plasma-pa-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-sdk = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-sdk-5.7.4.tar.xz";
|
||||
sha256 = "11zq31ja965p9xi4k5siki25blmy5lqsmhscq6pysqs7yzijjban";
|
||||
name = "plasma-sdk-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-sdk-5.7.5.tar.xz";
|
||||
sha256 = "07x1dywdm5x93bm7c6ipm0jqrwlphq45vgp878sd67mwj6gdc2s2";
|
||||
name = "plasma-sdk-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-workspace = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-workspace-5.7.4.tar.xz";
|
||||
sha256 = "0g8f1wn3cjgxiyvsbgaac91digglrka9lqsf1xr4fj6l7kfvb1ap";
|
||||
name = "plasma-workspace-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-workspace-5.7.5.tar.xz";
|
||||
sha256 = "1xdr7skwb8jbkc6nzyb7r4ima23qaiyin3qkcf0xa4n20krrlv8i";
|
||||
name = "plasma-workspace-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-workspace-wallpapers = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/plasma-workspace-wallpapers-5.7.4.tar.xz";
|
||||
sha256 = "1px6sp59wld8j6b7a22dc61b4x4rk4jv4bdfispkxv9b6nb29pdp";
|
||||
name = "plasma-workspace-wallpapers-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/plasma-workspace-wallpapers-5.7.5.tar.xz";
|
||||
sha256 = "1z64vnm05n8wh17g509ndhmvi1ivbjmdnlxy5jn69ayfipz49bpi";
|
||||
name = "plasma-workspace-wallpapers-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
polkit-kde-agent = {
|
||||
version = "1-5.7.4";
|
||||
version = "1-5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/polkit-kde-agent-1-5.7.4.tar.xz";
|
||||
sha256 = "19xw0y1d5cbxs5x79gg8x5nhpsc3lzrk3cq913symg1lz4y8py8l";
|
||||
name = "polkit-kde-agent-1-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/polkit-kde-agent-1-5.7.5.tar.xz";
|
||||
sha256 = "1mham7i0wwskjdaybn5rqsib4k77gjwb61yzf7vibbfv6njra8af";
|
||||
name = "polkit-kde-agent-1-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
powerdevil = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/powerdevil-5.7.4.tar.xz";
|
||||
sha256 = "19vjhs7cccfgvln4zn8wdnawk5xq6l12qi9jkzzxbhds456xqr84";
|
||||
name = "powerdevil-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/powerdevil-5.7.5.tar.xz";
|
||||
sha256 = "1j9fiyqxgccpxxssgj9mjr8wr9sklqq0k1nijzimbc1vg7ghxyak";
|
||||
name = "powerdevil-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
sddm-kcm = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/sddm-kcm-5.7.4.tar.xz";
|
||||
sha256 = "0aljr8pmc65dd6xq4c1i17wasn50nk3p3qwm54rfm9z063qm865h";
|
||||
name = "sddm-kcm-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/sddm-kcm-5.7.5.tar.xz";
|
||||
sha256 = "1s8jkip5fn2ljll0xsj4sy46bz9ggp1qx4q0fwriqagfr0pvphs1";
|
||||
name = "sddm-kcm-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
systemsettings = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/systemsettings-5.7.4.tar.xz";
|
||||
sha256 = "024rqmnw5bdph15ck8zmzxjars77jzh0hfh3yys1c3ydbhnvrc3w";
|
||||
name = "systemsettings-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/systemsettings-5.7.5.tar.xz";
|
||||
sha256 = "16r0ajzj9g1k1g7ypmxzknwqw38xki98jq9yvycawkf0jpg3h2cn";
|
||||
name = "systemsettings-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
user-manager = {
|
||||
version = "5.7.4";
|
||||
version = "5.7.5";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.7.4/user-manager-5.7.4.tar.xz";
|
||||
sha256 = "002qzlvh911ybffp7d0ln4qn6z87lnikagmcagy5bb3ypg217ijf";
|
||||
name = "user-manager-5.7.4.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.7.5/user-manager-5.7.5.tar.xz";
|
||||
sha256 = "1zrcy8vj59xa0b57liqm48lvkmw9g9w0l4kzkg9li37hf6z3hk6s";
|
||||
name = "user-manager-5.7.5.tar.xz";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -92,6 +92,13 @@ stdenv.mkDerivation {
|
|||
|
||||
# Useful debugging parameter
|
||||
# export VERBOSE=1
|
||||
'' +
|
||||
# In src/compiler-rt/cmake/config-ix.cmake, the cmake build falls
|
||||
# back to darwin 10.4. This causes the OS name to be recorded as
|
||||
# "10.4" rather than the expected "osx". But mk/rt.mk expects the
|
||||
# built library name to have an "_osx" suffix on darwin.
|
||||
optionalString stdenv.isDarwin ''
|
||||
substituteInPlace mk/rt.mk --replace "_osx" "_10.4"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -118,7 +125,13 @@ stdenv.mkDerivation {
|
|||
|
||||
preCheck = ''
|
||||
export TZDIR=${tzdata}/share/zoneinfo
|
||||
${optionalString stdenv.isDarwin "export TMPDIR=/tmp"}
|
||||
'' +
|
||||
# Ensure TMPDIR is set, and disable a test that removing the HOME
|
||||
# variable from the environment falls back to another home
|
||||
# directory.
|
||||
optionalString stdenv.isDarwin ''
|
||||
export TMPDIR=/tmp
|
||||
sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs
|
||||
'';
|
||||
|
||||
# Disable doCheck on Darwin to work around upstream issue
|
||||
|
|
|
@ -160,8 +160,10 @@ self: super: {
|
|||
ABList = dontCheck super.ABList;
|
||||
|
||||
# https://github.com/haskell/vector/issues/47
|
||||
vector = if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector;
|
||||
# https://github.com/haskell/vector/issues/138
|
||||
vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector);
|
||||
|
||||
# Fix Darwin build.
|
||||
halive = if pkgs.stdenv.isDarwin
|
||||
then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit
|
||||
else super.halive;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,32 +1,35 @@
|
|||
{ stdenv, lib, fetchurl, fetchFromSavannah, fetchFromGitHub
|
||||
{ stdenv, lib, fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
|
||||
, zlib, openssl, gdbm, ncurses, readline, groff, libyaml, libffi, autoreconfHook, bison
|
||||
, autoconf, darwin ? null
|
||||
, buildEnv, bundler, bundix
|
||||
} @ args:
|
||||
|
||||
let
|
||||
op = stdenv.lib.optional;
|
||||
ops = stdenv.lib.optionals;
|
||||
opString = stdenv.lib.optionalString;
|
||||
op = lib.optional;
|
||||
ops = lib.optionals;
|
||||
opString = lib.optionalString;
|
||||
patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
|
||||
config = import ./config.nix { inherit fetchFromSavannah; };
|
||||
rubygemsSrc = import ./rubygems-src.nix { inherit fetchurl; };
|
||||
rubygemsPatch = fetchpatch {
|
||||
url = "https://github.com/zimbatm/rubygems/compare/v2.6.6...v2.6.6-nix.patch";
|
||||
sha256 = "0297rdb1m6v75q8665ry9id1s74p9305dv32l95ssf198liaihhd";
|
||||
};
|
||||
unpackdir = obj:
|
||||
lib.removeSuffix ".tgz"
|
||||
(lib.removeSuffix ".tar.gz" obj.name);
|
||||
|
||||
generic = { majorVersion, minorVersion, teenyVersion, patchLevel, sha256 }: let
|
||||
versionNoPatch = "${majorVersion}.${minorVersion}.${teenyVersion}";
|
||||
version = "${versionNoPatch}-p${patchLevel}";
|
||||
fullVersionName = if patchLevel != "0" && stdenv.lib.versionOlder versionNoPatch "2.1"
|
||||
then version
|
||||
else versionNoPatch;
|
||||
tag = "v" + stdenv.lib.replaceChars ["." "p" "-"] ["_" "_" ""] fullVersionName;
|
||||
isRuby20 = majorVersion == "2" && minorVersion == "0";
|
||||
isRuby21 = majorVersion == "2" && minorVersion == "1";
|
||||
# Contains the ruby version heuristics
|
||||
rubyVersion = import ./ruby-version.nix { inherit lib; };
|
||||
|
||||
generic = { version, sha256 }: let
|
||||
ver = version;
|
||||
tag = ver.gitTag;
|
||||
isRuby20 = ver.majMin == "2.0";
|
||||
isRuby21 = ver.majMin == "2.1";
|
||||
baseruby = self.override { useRailsExpress = false; };
|
||||
self = lib.makeOverridable (
|
||||
{ stdenv, lib, fetchurl, fetchFromSavannah, fetchFromGitHub
|
||||
{ stdenv, lib, fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
|
||||
, useRailsExpress ? true
|
||||
, zlib, zlibSupport ? true
|
||||
, openssl, opensslSupport ? true
|
||||
|
@ -46,13 +49,11 @@ let
|
|||
rev = tag;
|
||||
sha256 = sha256.git;
|
||||
} else fetchurl {
|
||||
url = "http://cache.ruby-lang.org/pub/ruby/${majorVersion}.${minorVersion}/ruby-${fullVersionName}.tar.gz";
|
||||
url = "http://cache.ruby-lang.org/pub/ruby/${ver.majMin}/ruby-${ver}.tar.gz";
|
||||
sha256 = sha256.src;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
inherit version;
|
||||
|
||||
name = "ruby-${version}";
|
||||
|
||||
srcs = [ rubySrc rubygemsSrc ];
|
||||
|
@ -85,13 +86,16 @@ let
|
|||
hardeningDisable = lib.optional isRuby20 [ "format" ];
|
||||
|
||||
patches =
|
||||
[ ./gem_hook.patch ] ++
|
||||
(import ./patchsets.nix {
|
||||
inherit patchSet useRailsExpress ops patchLevel;
|
||||
})."${versionNoPatch}";
|
||||
inherit patchSet useRailsExpress ops;
|
||||
patchLevel = ver.patchLevel;
|
||||
})."${ver.majMinTiny}";
|
||||
|
||||
postUnpack = ''
|
||||
cp -r ${unpackdir rubygemsSrc} ${sourceRoot}/rubygems
|
||||
pushd ${sourceRoot}/rubygems
|
||||
patch -p1 < ${rubygemsPatch}
|
||||
popd
|
||||
'' + opString isRuby21 ''
|
||||
rm "$sourceRoot/enc/unicode/name2ctype.h"
|
||||
'';
|
||||
|
@ -152,25 +156,28 @@ let
|
|||
};
|
||||
|
||||
passthru = rec {
|
||||
inherit majorVersion minorVersion teenyVersion patchLevel version;
|
||||
version = ver;
|
||||
rubyEngine = "ruby";
|
||||
baseRuby = baseruby;
|
||||
libPath = "lib/${rubyEngine}/${versionNoPatch}";
|
||||
gemPath = "lib/${rubyEngine}/gems/${versionNoPatch}";
|
||||
libPath = "lib/${rubyEngine}/${ver.libDir}";
|
||||
gemPath = "lib/${rubyEngine}/gems/${ver.libDir}";
|
||||
devEnv = import ./dev.nix {
|
||||
inherit buildEnv bundler bundix;
|
||||
ruby = self;
|
||||
};
|
||||
|
||||
# deprecated 2016-09-21
|
||||
majorVersion = ver.major;
|
||||
minorVersion = ver.minor;
|
||||
teenyVersion = ver.tiny;
|
||||
patchLevel = ver.patchLevel;
|
||||
};
|
||||
}
|
||||
) args; in self;
|
||||
|
||||
in {
|
||||
ruby_1_9_3 = generic {
|
||||
majorVersion = "1";
|
||||
minorVersion = "9";
|
||||
teenyVersion = "3";
|
||||
patchLevel = "551";
|
||||
version = rubyVersion "1" "9" "3" "p551";
|
||||
sha256 = {
|
||||
src = "1s2ibg3s2iflzdv7rfxi1qqkvdbn2dq8gxdn0nxrb77ls5ffanxv";
|
||||
git = "1r9xzzxmci2ajb34qb4y1w424mz878zdgzxkfp9w60agldxnb36s";
|
||||
|
@ -178,10 +185,7 @@ in {
|
|||
};
|
||||
|
||||
ruby_2_0_0 = generic {
|
||||
majorVersion = "2";
|
||||
minorVersion = "0";
|
||||
teenyVersion = "0";
|
||||
patchLevel = "647";
|
||||
version = rubyVersion "2" "0" "0" "p647";
|
||||
sha256 = {
|
||||
src = "1v2vbvydarcx5801gx9lc6gr6dfi0i7qbzwhsavjqbn79rdsz2n8";
|
||||
git = "186pf4q9xymzn4zn1sjppl1skrl5f0159ixz5cz8g72dmmynq3g3";
|
||||
|
@ -189,10 +193,7 @@ in {
|
|||
};
|
||||
|
||||
ruby_2_1_10 = generic {
|
||||
majorVersion = "2";
|
||||
minorVersion = "1";
|
||||
teenyVersion = "10";
|
||||
patchLevel = "0";
|
||||
version = rubyVersion "2" "1" "10" "";
|
||||
sha256 = {
|
||||
src = "086x66w51lg41abjn79xb7f6xsryymkcc3nvakmkjnjyg96labpv";
|
||||
git = "133phd5r5y0np5lc9nqif93l7yb13yd52aspyl6c46z5jhvhyvfi";
|
||||
|
@ -200,10 +201,7 @@ in {
|
|||
};
|
||||
|
||||
ruby_2_2_5 = generic {
|
||||
majorVersion = "2";
|
||||
minorVersion = "2";
|
||||
teenyVersion = "5";
|
||||
patchLevel = "0";
|
||||
version = rubyVersion "2" "2" "5" "";
|
||||
sha256 = {
|
||||
src = "1qrmlcyc0cy9hgafb1wny2h90rjyyh6d72nvr2h4xjm4jwbb7i1h";
|
||||
git = "0k0av6ypyq08c9axm721f0xi2bcp1443l7ydbxv4v8x4vsxdkmq2";
|
||||
|
@ -211,10 +209,7 @@ in {
|
|||
};
|
||||
|
||||
ruby_2_3_1 = generic {
|
||||
majorVersion = "2";
|
||||
minorVersion = "3";
|
||||
teenyVersion = "1";
|
||||
patchLevel = "0";
|
||||
version = rubyVersion "2" "3" "1" "";
|
||||
sha256 = {
|
||||
src = "1kbxg72las93w0y553cxv3lymy2wvij3i3pg1y9g8aq3na676z5q";
|
||||
git = "0dv1rf5f9lj3icqs51bq7ljdcf17sdclmxm9hilwxps5l69v5q9r";
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
diff --git a/rubygems/lib/rubygems/installer.rb b/rubygems/lib/rubygems/installer.rb
|
||||
index a88d393..8612901 100644
|
||||
--- a/rubygems/lib/rubygems/installer.rb
|
||||
+++ b/rubygems/lib/rubygems/installer.rb
|
||||
@@ -766,7 +766,15 @@ TEXT
|
||||
# Ensures that files can't be installed outside the gem directory.
|
||||
|
||||
def extract_files
|
||||
- @package.extract_files gem_dir
|
||||
+ ret = @package.extract_files gem_dir
|
||||
+ if ENV['NIX_POST_EXTRACT_FILES_HOOK']
|
||||
+ puts
|
||||
+ puts "running NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{gem_dir}"
|
||||
+ system("#{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{gem_dir}")
|
||||
+ puts "running NIX_POST_EXTRACT_FILES_HOOK done"
|
||||
+ puts
|
||||
+ end
|
||||
+ ret
|
||||
end
|
||||
|
||||
##
|
63
pkgs/development/interpreters/ruby/ruby-version.nix
Normal file
63
pkgs/development/interpreters/ruby/ruby-version.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
# Contains the ruby version heuristics
|
||||
{ lib }:
|
||||
with lib;
|
||||
let
|
||||
# The returned set should be immutable
|
||||
rubyVersion = major: minor: tiny: tail:
|
||||
rec {
|
||||
inherit major minor tiny tail;
|
||||
|
||||
# Contains the patch number "223" if tail is "p223" or null
|
||||
patchLevel =
|
||||
let
|
||||
p = removePrefix "p" tail;
|
||||
isPosInt = num:
|
||||
0 == stringLength
|
||||
(replaceStrings
|
||||
["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"]
|
||||
["" "" "" "" "" "" "" "" "" "" ]
|
||||
num);
|
||||
in
|
||||
if hasPrefix "p" tail && isPosInt p then p
|
||||
else null;
|
||||
|
||||
# Shortcuts
|
||||
majMin = "${major}.${minor}";
|
||||
majMinTiny = "${major}.${minor}.${tiny}";
|
||||
|
||||
# Ruby separates lib and gem folders by ABI version which isn't very
|
||||
# consistent.
|
||||
libDir =
|
||||
if versionAtLeast majMinTiny "2.1.0" then
|
||||
"${majMin}.0"
|
||||
else if versionAtLeast majMinTiny "2.0.0" then
|
||||
"2.0.0"
|
||||
else if versionAtLeast majMinTiny "1.9.1" then
|
||||
"1.9.1"
|
||||
else
|
||||
throw "version ${majMinTiny} is not supported";
|
||||
|
||||
# How ruby releases are tagged on github.com/ruby/ruby
|
||||
gitTag =
|
||||
let
|
||||
base = "v${major}_${minor}_${tiny}";
|
||||
in
|
||||
if patchLevel != null then
|
||||
"${base}_${patchLevel}"
|
||||
else
|
||||
if tail != "" then
|
||||
"${base}_${tail}"
|
||||
else
|
||||
base;
|
||||
|
||||
# Implements the builtins.toString interface.
|
||||
__toString = self:
|
||||
self.majMinTiny + (
|
||||
if self.patchLevel != null then
|
||||
"-p${self.patchLevel}"
|
||||
else if self.tail != "" then
|
||||
"-${self.tail}"
|
||||
else "");
|
||||
};
|
||||
in
|
||||
rubyVersion
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user