mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-11 04:02:55 +03:00
Merge branch 'master' into staging
This commit is contained in:
commit
24d81d6332
@ -777,14 +777,14 @@ to find out the store path of the system's zlib library. Now, you can
|
|||||||
stack --extra-lib-dirs=/nix/store/alsvwzkiw4b7ip38l4nlfjijdvg3fvzn-zlib-1.2.8/lib build
|
stack --extra-lib-dirs=/nix/store/alsvwzkiw4b7ip38l4nlfjijdvg3fvzn-zlib-1.2.8/lib build
|
||||||
```
|
```
|
||||||
|
|
||||||
Typically, you'll need `--extra-include-dirs` as well. It's possible
|
Typically, you'll need `--extra-include-dirs` as well. It's possible
|
||||||
to add those flag to the project's `stack.yaml` or your user's
|
to add those flag to the project's `stack.yaml` or your user's
|
||||||
global `~/.stack/global/stack.yaml` file so that you don't have to
|
global `~/.stack/global/stack.yaml` file so that you don't have to
|
||||||
specify them manually every time. But again, you're likely better off
|
specify them manually every time. But again, you're likely better off
|
||||||
using Stack's Nix support instead.
|
using Stack's Nix support instead.
|
||||||
|
|
||||||
The same thing applies to `cabal configure`, of course, if you're
|
The same thing applies to `cabal configure`, of course, if you're
|
||||||
building with `cabal-install` instead of Stack.
|
building with `cabal-install` instead of Stack.
|
||||||
|
|
||||||
### Creating statically linked binaries
|
### Creating statically linked binaries
|
||||||
|
|
||||||
|
@ -286,6 +286,7 @@
|
|||||||
iblech = "Ingo Blechschmidt <iblech@speicherleck.de>";
|
iblech = "Ingo Blechschmidt <iblech@speicherleck.de>";
|
||||||
igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
|
igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
|
||||||
ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
|
ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
|
||||||
|
ilya-kolpakov = "Ilya Kolpakov <ilya.kolpakov@gmail.com>";
|
||||||
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
|
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
|
||||||
ironpinguin = "Michele Catalano <michele@catalano.de>";
|
ironpinguin = "Michele Catalano <michele@catalano.de>";
|
||||||
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
|
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
|
||||||
|
@ -36,7 +36,7 @@ stdenv.mkDerivation {
|
|||||||
hasBadPaths=1
|
hasBadPaths=1
|
||||||
fi
|
fi
|
||||||
if [ "$mode" != 444 ] && [ "$mode" != 555 ]; then
|
if [ "$mode" != 444 ] && [ "$mode" != 555 ]; then
|
||||||
echo "Store path '$path' has invalid permissions."
|
echo "Store path '$path' has invalid permissions ($mode)."
|
||||||
hasBadPaths=1
|
hasBadPaths=1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -281,8 +281,8 @@
|
|||||||
stanchion = 262;
|
stanchion = 262;
|
||||||
riak-cs = 263;
|
riak-cs = 263;
|
||||||
infinoted = 264;
|
infinoted = 264;
|
||||||
keystone = 265;
|
# keystone = 265; # unused, removed 2017-12-13
|
||||||
glance = 266;
|
# glance = 266; # unused, removed 2017-12-13
|
||||||
couchpotato = 267;
|
couchpotato = 267;
|
||||||
gogs = 268;
|
gogs = 268;
|
||||||
pdns-recursor = 269;
|
pdns-recursor = 269;
|
||||||
@ -551,8 +551,8 @@
|
|||||||
stanchion = 262;
|
stanchion = 262;
|
||||||
riak-cs = 263;
|
riak-cs = 263;
|
||||||
infinoted = 264;
|
infinoted = 264;
|
||||||
keystone = 265;
|
# keystone = 265; # unused, removed 2017-12-13
|
||||||
glance = 266;
|
# glance = 266; # unused, removed 2017-12-13
|
||||||
couchpotato = 267;
|
couchpotato = 267;
|
||||||
gogs = 268;
|
gogs = 268;
|
||||||
kresd = 270;
|
kresd = 270;
|
||||||
|
@ -354,6 +354,7 @@
|
|||||||
./services/misc/taskserver
|
./services/misc/taskserver
|
||||||
./services/misc/tzupdate.nix
|
./services/misc/tzupdate.nix
|
||||||
./services/misc/uhub.nix
|
./services/misc/uhub.nix
|
||||||
|
./services/misc/xmr-stak.nix
|
||||||
./services/misc/zookeeper.nix
|
./services/misc/zookeeper.nix
|
||||||
./services/monitoring/apcupsd.nix
|
./services/monitoring/apcupsd.nix
|
||||||
./services/monitoring/arbtt.nix
|
./services/monitoring/arbtt.nix
|
||||||
@ -748,6 +749,4 @@
|
|||||||
./virtualisation/vmware-guest.nix
|
./virtualisation/vmware-guest.nix
|
||||||
./virtualisation/xen-dom0.nix
|
./virtualisation/xen-dom0.nix
|
||||||
./virtualisation/xe-guest-utilities.nix
|
./virtualisation/xe-guest-utilities.nix
|
||||||
./virtualisation/openstack/keystone.nix
|
|
||||||
./virtualisation/openstack/glance.nix
|
|
||||||
]
|
]
|
||||||
|
@ -28,14 +28,15 @@ with lib;
|
|||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
|
|
||||||
config = mkIf config.services.gnome3.at-spi2-core.enable {
|
config = mkMerge [
|
||||||
|
(mkIf config.services.gnome3.at-spi2-core.enable {
|
||||||
environment.systemPackages = [ pkgs.at_spi2_core ];
|
environment.systemPackages = [ pkgs.at_spi2_core ];
|
||||||
|
services.dbus.packages = [ pkgs.at_spi2_core ];
|
||||||
services.dbus.packages = [ pkgs.at_spi2_core ];
|
systemd.packages = [ pkgs.at_spi2_core ];
|
||||||
|
})
|
||||||
systemd.packages = [ pkgs.at_spi2_core ];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
(mkIf (!config.services.gnome3.at-spi2-core.enable) {
|
||||||
|
environment.variables.NO_AT_BRIDGE = "1";
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
73
nixos/modules/services/misc/xmr-stak.nix
Normal file
73
nixos/modules/services/misc/xmr-stak.nix
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.services.xmr-stak;
|
||||||
|
|
||||||
|
pkg = pkgs.xmr-stak.override {
|
||||||
|
inherit (cfg) openclSupport cudaSupport;
|
||||||
|
};
|
||||||
|
|
||||||
|
xmrConfArg = optionalString (cfg.configText != "") ("-c " +
|
||||||
|
pkgs.writeText "xmr-stak-config.txt" cfg.configText);
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.xmr-stak = {
|
||||||
|
enable = mkEnableOption "xmr-stak miner";
|
||||||
|
openclSupport = mkEnableOption "support for OpenCL (AMD/ATI graphics cards)";
|
||||||
|
cudaSupport = mkEnableOption "support for CUDA (NVidia graphics cards)";
|
||||||
|
|
||||||
|
extraArgs = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
example = [ "--noCPU" "--currency monero" ];
|
||||||
|
description = "List of parameters to pass to xmr-stak.";
|
||||||
|
};
|
||||||
|
|
||||||
|
configText = mkOption {
|
||||||
|
type = types.lines;
|
||||||
|
default = "";
|
||||||
|
example = ''
|
||||||
|
"currency" : "monero",
|
||||||
|
"pool_list" :
|
||||||
|
[ { "pool_address" : "pool.supportxmr.com:5555",
|
||||||
|
"wallet_address" : "<long-hash>",
|
||||||
|
"pool_password" : "minername",
|
||||||
|
"pool_weight" : 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
Verbatim xmr-stak config.txt. If empty, the <literal>-c</literal>
|
||||||
|
parameter will not be added to the xmr-stak command.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services.xmr-stak = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
bindsTo = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
environment = mkIf cfg.cudaSupport {
|
||||||
|
LD_LIBRARY_PATH = "${pkgs.linuxPackages_latest.nvidia_x11}/lib";
|
||||||
|
};
|
||||||
|
script = ''
|
||||||
|
exec ${pkg}/bin/xmr-stak ${xmrConfArg} ${concatStringsSep " " cfg.extraArgs}
|
||||||
|
'';
|
||||||
|
serviceConfig = let rootRequired = cfg.openclSupport || cfg.cudaSupport; in {
|
||||||
|
# xmr-stak generates cpu and/or gpu configuration files
|
||||||
|
WorkingDirectory = "/tmp";
|
||||||
|
PrivateTmp = true;
|
||||||
|
DynamicUser = !rootRequired;
|
||||||
|
LimitMEMLOCK = toString (1024*1024);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -56,6 +56,7 @@ let
|
|||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${samba}/sbin/${appName} ${args}";
|
ExecStart = "${samba}/sbin/${appName} ${args}";
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
|
LimitNOFILE = 16384;
|
||||||
Type = "notify";
|
Type = "notify";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,11 +50,14 @@ let
|
|||||||
"mod_geoip"
|
"mod_geoip"
|
||||||
"mod_magnet"
|
"mod_magnet"
|
||||||
"mod_mysql_vhost"
|
"mod_mysql_vhost"
|
||||||
|
"mod_openssl" # since v1.4.46
|
||||||
"mod_scgi"
|
"mod_scgi"
|
||||||
"mod_setenv"
|
"mod_setenv"
|
||||||
"mod_trigger_b4_dl"
|
"mod_trigger_b4_dl"
|
||||||
"mod_uploadprogress"
|
"mod_uploadprogress"
|
||||||
|
"mod_vhostdb" # since v1.4.46
|
||||||
"mod_webdav"
|
"mod_webdav"
|
||||||
|
"mod_wstunnel" # since v1.4.46
|
||||||
];
|
];
|
||||||
|
|
||||||
maybeModuleString = moduleName:
|
maybeModuleString = moduleName:
|
||||||
|
@ -193,16 +193,6 @@ in
|
|||||||
theme = mkDefault "breeze";
|
theme = mkDefault "breeze";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.plymouth = {
|
|
||||||
theme = mkDefault "breeze";
|
|
||||||
themePackages = mkDefault [
|
|
||||||
(pkgs.breeze-plymouth.override {
|
|
||||||
nixosBranding = true;
|
|
||||||
nixosVersion = config.system.nixosRelease;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
security.pam.services.kde = { allowNullPassword = true; };
|
security.pam.services.kde = { allowNullPassword = true; };
|
||||||
|
|
||||||
# Doing these one by one seems silly, but we currently lack a better
|
# Doing these one by one seems silly, but we currently lack a better
|
||||||
|
@ -8,9 +8,14 @@ let
|
|||||||
|
|
||||||
cfg = config.boot.plymouth;
|
cfg = config.boot.plymouth;
|
||||||
|
|
||||||
|
breezePlymouth = pkgs.breeze-plymouth.override {
|
||||||
|
nixosBranding = true;
|
||||||
|
nixosVersion = config.system.nixosRelease;
|
||||||
|
};
|
||||||
|
|
||||||
themesEnv = pkgs.buildEnv {
|
themesEnv = pkgs.buildEnv {
|
||||||
name = "plymouth-themes";
|
name = "plymouth-themes";
|
||||||
paths = [ plymouth ] ++ cfg.themePackages;
|
paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = pkgs.writeText "plymouthd.conf" ''
|
configFile = pkgs.writeText "plymouthd.conf" ''
|
||||||
@ -38,7 +43,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
theme = mkOption {
|
theme = mkOption {
|
||||||
default = "fade-in";
|
default = "breeze";
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = ''
|
description = ''
|
||||||
Splash screen theme.
|
Splash screen theme.
|
||||||
|
@ -223,21 +223,21 @@ let self = {
|
|||||||
"17.03".us-west-2.hvm-ebs = "ami-a93daac9";
|
"17.03".us-west-2.hvm-ebs = "ami-a93daac9";
|
||||||
"17.03".us-west-2.hvm-s3 = "ami-5139ae31";
|
"17.03".us-west-2.hvm-s3 = "ami-5139ae31";
|
||||||
|
|
||||||
# 17.09.1483.d0f0657ca0
|
# 17.09.2356.cb751f9b1c3
|
||||||
"17.09".eu-west-1.hvm-ebs = "ami-cf33e7b6";
|
"17.09".eu-west-1.hvm-ebs = "ami-d40185ad";
|
||||||
"17.09".eu-west-2.hvm-ebs = "ami-7d061419";
|
"17.09".eu-west-2.hvm-ebs = "ami-c5445da1";
|
||||||
"17.09".eu-central-1.hvm-ebs = "ami-7548fa1a";
|
"17.09".eu-central-1.hvm-ebs = "ami-e758d388";
|
||||||
"17.09".us-east-1.hvm-ebs = "ami-6f669d15";
|
"17.09".us-east-1.hvm-ebs = "ami-865327fc";
|
||||||
"17.09".us-east-2.hvm-ebs = "ami-cbe1ccae";
|
"17.09".us-east-2.hvm-ebs = "ami-074d6562";
|
||||||
"17.09".us-west-1.hvm-ebs = "ami-9d95a5fd";
|
"17.09".us-west-1.hvm-ebs = "ami-992c28f9";
|
||||||
"17.09".us-west-2.hvm-ebs = "ami-d3956fab";
|
"17.09".us-west-2.hvm-ebs = "ami-2bd87953";
|
||||||
"17.09".ca-central-1.hvm-ebs = "ami-ee4ef78a";
|
"17.09".ca-central-1.hvm-ebs = "ami-c4bb01a0";
|
||||||
"17.09".ap-southeast-1.hvm-ebs = "ami-1dfc807e";
|
"17.09".ap-southeast-1.hvm-ebs = "ami-5ff79723";
|
||||||
"17.09".ap-southeast-2.hvm-ebs = "ami-dcb350be";
|
"17.09".ap-southeast-2.hvm-ebs = "ami-57e71135";
|
||||||
"17.09".ap-northeast-1.hvm-ebs = "ami-00ec3d66";
|
"17.09".ap-northeast-1.hvm-ebs = "ami-5249c434";
|
||||||
"17.09".ap-northeast-2.hvm-ebs = "ami-1107dd7f";
|
"17.09".ap-northeast-2.hvm-ebs = "ami-f1288e9f";
|
||||||
"17.09".sa-east-1.hvm-ebs = "ami-0377086f";
|
"17.09".sa-east-1.hvm-ebs = "ami-5492d438";
|
||||||
"17.09".ap-south-1.hvm-ebs = "ami-4a064625";
|
"17.09".ap-south-1.hvm-ebs = "ami-c4fab2ab";
|
||||||
|
|
||||||
latest = self."17.09";
|
latest = self."17.09";
|
||||||
}; in self
|
}; in self
|
||||||
|
@ -1,174 +0,0 @@
|
|||||||
# Module for Nova, a.k.a. OpenStack Compute.
|
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
cfg = config.virtualisation.nova;
|
|
||||||
|
|
||||||
nova = pkgs.nova;
|
|
||||||
|
|
||||||
novaConf = pkgs.writeText "nova.conf"
|
|
||||||
''
|
|
||||||
--nodaemon
|
|
||||||
--verbose
|
|
||||||
${cfg.extraConfig}
|
|
||||||
'';
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
|
||||||
|
|
||||||
virtualisation.nova.enableSingleNode =
|
|
||||||
mkOption {
|
|
||||||
default = false;
|
|
||||||
description =
|
|
||||||
''
|
|
||||||
This option enables Nova, also known as OpenStack Compute,
|
|
||||||
a cloud computing system, as a single-machine
|
|
||||||
installation. That is, all of Nova's components are
|
|
||||||
enabled on this machine, using SQLite as Nova's database.
|
|
||||||
This is useful for evaluating and experimenting with Nova.
|
|
||||||
However, for a real cloud computing environment, you'll
|
|
||||||
want to enable some of Nova's services on other machines,
|
|
||||||
and use a database such as MySQL.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.nova.extraConfig =
|
|
||||||
mkOption {
|
|
||||||
default = "";
|
|
||||||
description =
|
|
||||||
''
|
|
||||||
Additional text appended to <filename>nova.conf</filename>,
|
|
||||||
the main Nova configuration file.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = mkIf cfg.enableSingleNode {
|
|
||||||
|
|
||||||
environment.systemPackages = [ nova pkgs.euca2ools pkgs.novaclient ];
|
|
||||||
|
|
||||||
environment.etc =
|
|
||||||
[ { source = novaConf;
|
|
||||||
target = "nova/nova.conf";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Nova requires libvirtd and RabbitMQ.
|
|
||||||
virtualisation.libvirtd.enable = true;
|
|
||||||
services.rabbitmq.enable = true;
|
|
||||||
|
|
||||||
# `qemu-nbd' required the `nbd' kernel module.
|
|
||||||
boot.kernelModules = [ "nbd" ];
|
|
||||||
|
|
||||||
system.activationScripts.nova =
|
|
||||||
''
|
|
||||||
mkdir -m 755 -p /var/lib/nova
|
|
||||||
mkdir -m 755 -p /var/lib/nova/networks
|
|
||||||
mkdir -m 700 -p /var/lib/nova/instances
|
|
||||||
mkdir -m 700 -p /var/lib/nova/keys
|
|
||||||
|
|
||||||
# Allow the CA certificate generation script (called by
|
|
||||||
# nova-api) to work.
|
|
||||||
mkdir -m 700 -p /var/lib/nova/CA /var/lib/nova/CA/private
|
|
||||||
|
|
||||||
# Initialise the SQLite database.
|
|
||||||
${nova}/bin/nova-manage db sync
|
|
||||||
'';
|
|
||||||
|
|
||||||
# `nova-api' receives and executes external client requests from
|
|
||||||
# tools such as euca2ools. It listens on port 8773 (XML) and 8774
|
|
||||||
# (JSON).
|
|
||||||
jobs.nova_api =
|
|
||||||
{ name = "nova-api";
|
|
||||||
|
|
||||||
description = "Nova API service";
|
|
||||||
|
|
||||||
startOn = "ip-up";
|
|
||||||
|
|
||||||
# `openssl' is required to generate the CA. `openssh' is
|
|
||||||
# required to generate key pairs.
|
|
||||||
path = [ pkgs.openssl config.programs.ssh.package pkgs.bash ];
|
|
||||||
|
|
||||||
respawn = false;
|
|
||||||
|
|
||||||
exec = "${nova}/bin/nova-api --flagfile=${novaConf} --api_paste_config=${nova}/etc/nova/api-paste.ini";
|
|
||||||
};
|
|
||||||
|
|
||||||
# `nova-objectstore' is a simple image server. Useful if you're
|
|
||||||
# not running the OpenStack Imaging Service (Swift). It serves
|
|
||||||
# images placed in /var/lib/nova/images/.
|
|
||||||
jobs.nova_objectstore =
|
|
||||||
{ name = "nova-objectstore";
|
|
||||||
|
|
||||||
description = "Nova Simple Object Store Service";
|
|
||||||
|
|
||||||
startOn = "ip-up";
|
|
||||||
|
|
||||||
preStart =
|
|
||||||
''
|
|
||||||
mkdir -m 700 -p /var/lib/nova/images
|
|
||||||
'';
|
|
||||||
|
|
||||||
exec = "${nova}/bin/nova-objectstore --flagfile=${novaConf}";
|
|
||||||
};
|
|
||||||
|
|
||||||
# `nova-scheduler' schedules VM execution requests.
|
|
||||||
jobs.nova_scheduler =
|
|
||||||
{ name = "nova-scheduler";
|
|
||||||
|
|
||||||
description = "Nova Scheduler Service";
|
|
||||||
|
|
||||||
startOn = "ip-up";
|
|
||||||
|
|
||||||
exec = "${nova}/bin/nova-scheduler --flagfile=${novaConf}";
|
|
||||||
};
|
|
||||||
|
|
||||||
# `nova-compute' starts and manages virtual machines.
|
|
||||||
jobs.nova_compute =
|
|
||||||
{ name = "nova-compute";
|
|
||||||
|
|
||||||
description = "Nova Compute Service";
|
|
||||||
|
|
||||||
startOn = "ip-up";
|
|
||||||
|
|
||||||
path =
|
|
||||||
[ pkgs.sudo pkgs.vlan pkgs.nettools pkgs.iptables pkgs.qemu_kvm
|
|
||||||
pkgs.e2fsprogs pkgs.utillinux pkgs.multipath-tools pkgs.iproute
|
|
||||||
pkgs.bridge-utils
|
|
||||||
];
|
|
||||||
|
|
||||||
exec = "${nova}/bin/nova-compute --flagfile=${novaConf}";
|
|
||||||
};
|
|
||||||
|
|
||||||
# `nova-network' manages networks and allocates IP addresses.
|
|
||||||
jobs.nova_network =
|
|
||||||
{ name = "nova-network";
|
|
||||||
|
|
||||||
description = "Nova Network Service";
|
|
||||||
|
|
||||||
startOn = "ip-up";
|
|
||||||
|
|
||||||
path =
|
|
||||||
[ pkgs.sudo pkgs.vlan pkgs.dnsmasq pkgs.nettools pkgs.iptables
|
|
||||||
pkgs.iproute pkgs.bridge-utils pkgs.radvd
|
|
||||||
];
|
|
||||||
|
|
||||||
exec = "${nova}/bin/nova-network --flagfile=${novaConf}";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -1,84 +0,0 @@
|
|||||||
{ lib }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
rec {
|
|
||||||
# A shell script string helper to get the value of a secret at
|
|
||||||
# runtime.
|
|
||||||
getSecret = secretOption:
|
|
||||||
if secretOption.storage == "fromFile"
|
|
||||||
then ''$(cat ${secretOption.value})''
|
|
||||||
else ''${secretOption.value}'';
|
|
||||||
|
|
||||||
|
|
||||||
# A shell script string help to replace at runtime in a file the
|
|
||||||
# pattern of a secret by its value.
|
|
||||||
replaceSecret = secretOption: filename: ''
|
|
||||||
sed -i "s/${secretOption.pattern}/${getSecret secretOption}/g" ${filename}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# This generates an option that can be used to declare secrets which
|
|
||||||
# can be stored in the nix store, or not. A pattern is written in
|
|
||||||
# the nix store to represent the secret. The pattern can
|
|
||||||
# then be overwritten with the value of the secret at runtime.
|
|
||||||
mkSecretOption = {name, description ? ""}:
|
|
||||||
mkOption {
|
|
||||||
description = description;
|
|
||||||
type = types.submodule ({
|
|
||||||
options = {
|
|
||||||
pattern = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "##${name}##";
|
|
||||||
description = "The pattern that represent the secret.";
|
|
||||||
};
|
|
||||||
storage = mkOption {
|
|
||||||
type = types.enum [ "fromNixStore" "fromFile" ];
|
|
||||||
description = ''
|
|
||||||
Choose the way the password is provisionned. If
|
|
||||||
fromNixStore is used, the value is the password and it is
|
|
||||||
written in the nix store. If fromFile is used, the value
|
|
||||||
is a path from where the password will be read at
|
|
||||||
runtime. This is generally used with <link
|
|
||||||
xlink:href="https://nixos.org/nixops/manual/#opt-deployment.keys">
|
|
||||||
deployment keys</link> of Nixops.
|
|
||||||
'';};
|
|
||||||
value = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
If the storage is fromNixStore, the value is the password itself,
|
|
||||||
otherwise it is a path to the file that contains the password.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};});
|
|
||||||
};
|
|
||||||
|
|
||||||
databaseOption = name: {
|
|
||||||
host = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "localhost";
|
|
||||||
description = ''
|
|
||||||
Host of the database.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
name = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = name;
|
|
||||||
description = ''
|
|
||||||
Name of the existing database.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
user = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = name;
|
|
||||||
description = ''
|
|
||||||
The database user. The user must exist and has access to
|
|
||||||
the specified database.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
password = mkSecretOption {
|
|
||||||
name = name + "MysqlPassword";
|
|
||||||
description = "The database user's password";};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,245 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib; with import ./common.nix {inherit lib;};
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.virtualisation.openstack.glance;
|
|
||||||
commonConf = ''
|
|
||||||
[database]
|
|
||||||
connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}"
|
|
||||||
notification_driver = noop
|
|
||||||
|
|
||||||
[keystone_authtoken]
|
|
||||||
auth_url = ${cfg.authUrl}
|
|
||||||
auth_plugin = password
|
|
||||||
project_name = service
|
|
||||||
project_domain_id = default
|
|
||||||
user_domain_id = default
|
|
||||||
username = ${cfg.serviceUsername}
|
|
||||||
password = ${cfg.servicePassword.pattern}
|
|
||||||
|
|
||||||
[glance_store]
|
|
||||||
default_store = file
|
|
||||||
filesystem_store_datadir = /var/lib/glance/images/
|
|
||||||
'';
|
|
||||||
glanceApiConfTpl = pkgs.writeText "glance-api.conf" ''
|
|
||||||
${commonConf}
|
|
||||||
|
|
||||||
[paste_deploy]
|
|
||||||
flavor = keystone
|
|
||||||
config_file = ${cfg.package}/etc/glance-api-paste.ini
|
|
||||||
'';
|
|
||||||
glanceRegistryConfTpl = pkgs.writeText "glance-registry.conf" ''
|
|
||||||
${commonConf}
|
|
||||||
|
|
||||||
[paste_deploy]
|
|
||||||
config_file = ${cfg.package}/etc/glance-registry-paste.ini
|
|
||||||
'';
|
|
||||||
glanceApiConf = "/var/lib/glance/glance-api.conf";
|
|
||||||
glanceRegistryConf = "/var/lib/glance/glance-registry.conf";
|
|
||||||
|
|
||||||
in {
|
|
||||||
options.virtualisation.openstack.glance = {
|
|
||||||
package = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = pkgs.glance;
|
|
||||||
defaultText = "pkgs.glance";
|
|
||||||
description = ''
|
|
||||||
Glance package to use.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
This option enables Glance as a single-machine
|
|
||||||
installation. That is, all of Glance's components are
|
|
||||||
enabled on this machine. This is useful for evaluating and
|
|
||||||
experimenting with Glance. Note we are currently not
|
|
||||||
providing any configurations for a multi-node setup.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
authUrl = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = http://localhost:5000;
|
|
||||||
description = ''
|
|
||||||
Complete public Identity (Keystone) API endpoint. Note this is
|
|
||||||
unversionned.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
serviceUsername = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "glance";
|
|
||||||
description = ''
|
|
||||||
The Glance service username. This user is created if bootstrap
|
|
||||||
is enable, otherwise it has to be manually created before
|
|
||||||
starting this service.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
servicePassword = mkSecretOption {
|
|
||||||
name = "glanceAdminPassword";
|
|
||||||
description = ''
|
|
||||||
The Glance service user's password.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
database = databaseOption "glance";
|
|
||||||
|
|
||||||
bootstrap = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Bootstrap the Glance service by creating the service tenant,
|
|
||||||
an admin account and a public endpoint. This option provides
|
|
||||||
a ready-to-use glance service. This is only done at the
|
|
||||||
first Glance execution by the systemd post start section.
|
|
||||||
The keystone admin account is used to create required
|
|
||||||
Keystone resource for the Glance service.
|
|
||||||
|
|
||||||
<note><para> This option is a helper for setting up
|
|
||||||
development or testing environments.</para></note>
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
endpointPublic = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "http://localhost:9292";
|
|
||||||
description = ''
|
|
||||||
The public image endpoint. The link <link
|
|
||||||
xlink:href="http://docs.openstack.org/liberty/install-guide-rdo/keystone-services.html">
|
|
||||||
create endpoint</link> provides more informations
|
|
||||||
about that.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
keystoneAdminUsername = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "admin";
|
|
||||||
description = ''
|
|
||||||
The keystone admin user name used to create the Glance account.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
keystoneAdminPassword = mkSecretOption {
|
|
||||||
name = "keystoneAdminPassword";
|
|
||||||
description = ''
|
|
||||||
The keystone admin user's password.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
keystoneAdminTenant = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "admin";
|
|
||||||
description = ''
|
|
||||||
The keystone admin tenant used to create the Glance account.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
keystoneAuthUrl = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "http://localhost:5000/v2.0";
|
|
||||||
description = ''
|
|
||||||
The keystone auth url used to create the Glance account.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
users.extraUsers = [{
|
|
||||||
name = "glance";
|
|
||||||
group = "glance";
|
|
||||||
uid = config.ids.gids.glance;
|
|
||||||
|
|
||||||
}];
|
|
||||||
users.extraGroups = [{
|
|
||||||
name = "glance";
|
|
||||||
gid = config.ids.gids.glance;
|
|
||||||
}];
|
|
||||||
|
|
||||||
systemd.services.glance-registry = {
|
|
||||||
description = "OpenStack Glance Registry Daemon";
|
|
||||||
after = [ "network.target"];
|
|
||||||
path = [ pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
preStart = ''
|
|
||||||
mkdir -m 775 -p /var/lib/glance/{images,scrubber,image_cache}
|
|
||||||
chown glance:glance /var/lib/glance/{images,scrubber,image_cache}
|
|
||||||
|
|
||||||
# Secret file managment
|
|
||||||
cp ${glanceRegistryConfTpl} ${glanceRegistryConf};
|
|
||||||
chown glance:glance ${glanceRegistryConf};
|
|
||||||
chmod 640 ${glanceRegistryConf}
|
|
||||||
${replaceSecret cfg.database.password glanceRegistryConf}
|
|
||||||
${replaceSecret cfg.servicePassword glanceRegistryConf}
|
|
||||||
|
|
||||||
cp ${glanceApiConfTpl} ${glanceApiConf};
|
|
||||||
chown glance:glance ${glanceApiConf};
|
|
||||||
chmod 640 ${glanceApiConf}
|
|
||||||
${replaceSecret cfg.database.password glanceApiConf}
|
|
||||||
${replaceSecret cfg.servicePassword glanceApiConf}
|
|
||||||
|
|
||||||
# Initialise the database
|
|
||||||
${cfg.package}/bin/glance-manage --config-file=${glanceApiConf} --config-file=${glanceRegistryConf} db_sync
|
|
||||||
'';
|
|
||||||
postStart = ''
|
|
||||||
set -eu
|
|
||||||
export OS_AUTH_URL=${cfg.bootstrap.keystoneAuthUrl}
|
|
||||||
export OS_USERNAME=${cfg.bootstrap.keystoneAdminUsername}
|
|
||||||
export OS_PASSWORD=${getSecret cfg.bootstrap.keystoneAdminPassword}
|
|
||||||
export OS_TENANT_NAME=${cfg.bootstrap.keystoneAdminTenant}
|
|
||||||
|
|
||||||
# Wait until the keystone is available for use
|
|
||||||
count=0
|
|
||||||
while ! keystone user-get ${cfg.bootstrap.keystoneAdminUsername} > /dev/null
|
|
||||||
do
|
|
||||||
if [ $count -eq 30 ]
|
|
||||||
then
|
|
||||||
echo "Tried 30 times, giving up..."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Keystone not yet started. Waiting for 1 second..."
|
|
||||||
count=$((count++))
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
|
|
||||||
# If the service glance doesn't exist, we consider glance is
|
|
||||||
# not initialized
|
|
||||||
if ! keystone service-get glance
|
|
||||||
then
|
|
||||||
keystone service-create --type image --name glance
|
|
||||||
ID=$(keystone service-get glance | awk '/ id / { print $4 }')
|
|
||||||
keystone endpoint-create --region RegionOne --service $ID --internalurl http://localhost:9292 --adminurl http://localhost:9292 --publicurl ${cfg.bootstrap.endpointPublic}
|
|
||||||
|
|
||||||
keystone user-create --name ${cfg.serviceUsername} --tenant service --pass ${getSecret cfg.servicePassword}
|
|
||||||
keystone user-role-add --tenant service --user ${cfg.serviceUsername} --role admin
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
PermissionsStartOnly = true; # preStart must be run as root
|
|
||||||
TimeoutStartSec = "600"; # 10min for initial db migrations
|
|
||||||
User = "glance";
|
|
||||||
Group = "glance";
|
|
||||||
ExecStart = "${cfg.package}/bin/glance-registry --config-file=${glanceRegistryConf}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.services.glance-api = {
|
|
||||||
description = "OpenStack Glance API Daemon";
|
|
||||||
after = [ "glance-registry.service" "network.target"];
|
|
||||||
requires = [ "glance-registry.service" "network.target"];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
PermissionsStartOnly = true; # preStart must be run as root
|
|
||||||
User = "glance";
|
|
||||||
Group = "glance";
|
|
||||||
ExecStart = "${cfg.package}/bin/glance-api --config-file=${glanceApiConf}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -1,220 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib; with import ./common.nix {inherit lib;};
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.virtualisation.openstack.keystone;
|
|
||||||
keystoneConfTpl = pkgs.writeText "keystone.conf" ''
|
|
||||||
[DEFAULT]
|
|
||||||
admin_token = ${cfg.adminToken.pattern}
|
|
||||||
policy_file=${cfg.package}/etc/policy.json
|
|
||||||
|
|
||||||
[database]
|
|
||||||
|
|
||||||
connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}"
|
|
||||||
|
|
||||||
[paste_deploy]
|
|
||||||
config_file = ${cfg.package}/etc/keystone-paste.ini
|
|
||||||
|
|
||||||
${cfg.extraConfig}
|
|
||||||
'';
|
|
||||||
keystoneConf = "/var/lib/keystone/keystone.conf";
|
|
||||||
|
|
||||||
in {
|
|
||||||
options.virtualisation.openstack.keystone = {
|
|
||||||
package = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
example = literalExample "pkgs.keystone";
|
|
||||||
description = ''
|
|
||||||
Keystone package to use.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Enable Keystone, the OpenStack Identity Service
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = mkOption {
|
|
||||||
default = "";
|
|
||||||
type = types.lines;
|
|
||||||
description = ''
|
|
||||||
Additional text appended to <filename>keystone.conf</filename>,
|
|
||||||
the main Keystone configuration file.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
adminToken = mkSecretOption {
|
|
||||||
name = "adminToken";
|
|
||||||
description = ''
|
|
||||||
This is the admin token used to boostrap keystone,
|
|
||||||
ie. to provision first resources.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
bootstrap = {
|
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
description = ''
|
|
||||||
Bootstrap the Keystone service by creating the service
|
|
||||||
tenant, an admin account and a public endpoint. This options
|
|
||||||
provides a ready-to-use admin account. This is only done at
|
|
||||||
the first Keystone execution by the systemd post start.
|
|
||||||
|
|
||||||
Note this option is a helper for setting up development or
|
|
||||||
testing environments.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
endpointPublic = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "http://localhost:5000/v2.0";
|
|
||||||
description = ''
|
|
||||||
The public identity endpoint. The link <link
|
|
||||||
xlink:href="http://docs.openstack.org/liberty/install-guide-rdo/keystone-services.html">
|
|
||||||
create keystone endpoint</link> provides more informations
|
|
||||||
about that.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
adminUsername = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "admin";
|
|
||||||
description = ''
|
|
||||||
A keystone admin username.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
adminPassword = mkSecretOption {
|
|
||||||
name = "keystoneAdminPassword";
|
|
||||||
description = ''
|
|
||||||
The keystone admin user's password.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
adminTenant = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "admin";
|
|
||||||
description = ''
|
|
||||||
A keystone admin tenant name.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
database = {
|
|
||||||
host = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "localhost";
|
|
||||||
description = ''
|
|
||||||
Host of the database.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
name = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "keystone";
|
|
||||||
description = ''
|
|
||||||
Name of the existing database.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
user = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "keystone";
|
|
||||||
description = ''
|
|
||||||
The database user. The user must exist and has access to
|
|
||||||
the specified database.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
password = mkSecretOption {
|
|
||||||
name = "mysqlPassword";
|
|
||||||
description = "The database user's password";};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# Note: when changing the default, make it conditional on
|
|
||||||
# ‘system.stateVersion’ to maintain compatibility with existing
|
|
||||||
# systems!
|
|
||||||
virtualisation.openstack.keystone.package = mkDefault pkgs.keystone;
|
|
||||||
|
|
||||||
users.extraUsers = [{
|
|
||||||
name = "keystone";
|
|
||||||
group = "keystone";
|
|
||||||
uid = config.ids.uids.keystone;
|
|
||||||
}];
|
|
||||||
users.extraGroups = [{
|
|
||||||
name = "keystone";
|
|
||||||
gid = config.ids.gids.keystone;
|
|
||||||
}];
|
|
||||||
|
|
||||||
systemd.services.keystone-all = {
|
|
||||||
description = "OpenStack Keystone Daemon";
|
|
||||||
after = [ "network.target"];
|
|
||||||
path = [ cfg.package pkgs.mysql pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
preStart = ''
|
|
||||||
mkdir -m 755 -p /var/lib/keystone
|
|
||||||
|
|
||||||
cp ${keystoneConfTpl} ${keystoneConf};
|
|
||||||
chown keystone:keystone ${keystoneConf};
|
|
||||||
chmod 640 ${keystoneConf}
|
|
||||||
|
|
||||||
${replaceSecret cfg.database.password keystoneConf}
|
|
||||||
${replaceSecret cfg.adminToken keystoneConf}
|
|
||||||
|
|
||||||
# Initialise the database
|
|
||||||
${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} db_sync
|
|
||||||
# Set up the keystone's PKI infrastructure
|
|
||||||
${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} pki_setup --keystone-user keystone --keystone-group keystone
|
|
||||||
'';
|
|
||||||
postStart = optionalString cfg.bootstrap.enable ''
|
|
||||||
set -eu
|
|
||||||
# Wait until the keystone is available for use
|
|
||||||
count=0
|
|
||||||
while ! curl --fail -s http://localhost:35357/v2.0 > /dev/null
|
|
||||||
do
|
|
||||||
if [ $count -eq 30 ]
|
|
||||||
then
|
|
||||||
echo "Tried 30 times, giving up..."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Keystone not yet started. Waiting for 1 second..."
|
|
||||||
count=$((count++))
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
|
|
||||||
# We use the service token to create a first admin user
|
|
||||||
export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0
|
|
||||||
export OS_SERVICE_TOKEN=${getSecret cfg.adminToken}
|
|
||||||
|
|
||||||
# If the tenant service doesn't exist, we consider
|
|
||||||
# keystone is not initialized
|
|
||||||
if ! keystone tenant-get service
|
|
||||||
then
|
|
||||||
keystone tenant-create --name service
|
|
||||||
keystone tenant-create --name ${cfg.bootstrap.adminTenant}
|
|
||||||
keystone user-create --name ${cfg.bootstrap.adminUsername} --tenant ${cfg.bootstrap.adminTenant} --pass ${getSecret cfg.bootstrap.adminPassword}
|
|
||||||
keystone role-create --name admin
|
|
||||||
keystone role-create --name Member
|
|
||||||
keystone user-role-add --tenant ${cfg.bootstrap.adminTenant} --user ${cfg.bootstrap.adminUsername} --role admin
|
|
||||||
keystone service-create --type identity --name keystone
|
|
||||||
ID=$(keystone service-get keystone | awk '/ id / { print $4 }')
|
|
||||||
keystone endpoint-create --region RegionOne --service $ID --publicurl ${cfg.bootstrap.endpointPublic} --adminurl http://localhost:35357/v2.0 --internalurl http://localhost:5000/v2.0
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
PermissionsStartOnly = true; # preStart must be run as root
|
|
||||||
TimeoutStartSec = "600"; # 10min for initial db migrations
|
|
||||||
User = "keystone";
|
|
||||||
Group = "keystone";
|
|
||||||
ExecStart = "${cfg.package}/bin/keystone-all --config-file=${keystoneConf}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -267,7 +267,6 @@ in rec {
|
|||||||
tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
|
tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
|
||||||
#tests.gitlab = callTest tests/gitlab.nix {};
|
#tests.gitlab = callTest tests/gitlab.nix {};
|
||||||
tests.gitolite = callTest tests/gitolite.nix {};
|
tests.gitolite = callTest tests/gitolite.nix {};
|
||||||
tests.glance = callTest tests/glance.nix {};
|
|
||||||
tests.gocd-agent = callTest tests/gocd-agent.nix {};
|
tests.gocd-agent = callTest tests/gocd-agent.nix {};
|
||||||
tests.gocd-server = callTest tests/gocd-server.nix {};
|
tests.gocd-server = callTest tests/gocd-server.nix {};
|
||||||
tests.gnome3 = callTest tests/gnome3.nix {};
|
tests.gnome3 = callTest tests/gnome3.nix {};
|
||||||
@ -293,7 +292,6 @@ in rec {
|
|||||||
tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
|
tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
|
||||||
tests.kernel-latest = callTest tests/kernel-latest.nix {};
|
tests.kernel-latest = callTest tests/kernel-latest.nix {};
|
||||||
tests.kernel-lts = callTest tests/kernel-lts.nix {};
|
tests.kernel-lts = callTest tests/kernel-lts.nix {};
|
||||||
tests.keystone = callTest tests/keystone.nix {};
|
|
||||||
tests.kubernetes = hydraJob (import tests/kubernetes/default.nix { system = "x86_64-linux"; });
|
tests.kubernetes = hydraJob (import tests/kubernetes/default.nix { system = "x86_64-linux"; });
|
||||||
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
|
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
|
||||||
tests.ldap = callTest tests/ldap.nix {};
|
tests.ldap = callTest tests/ldap.nix {};
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
{ system ? builtins.currentSystem }:
|
|
||||||
|
|
||||||
with import ../lib/testing.nix { inherit system; };
|
|
||||||
with pkgs.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
glanceMysqlPassword = "glanceMysqlPassword";
|
|
||||||
glanceAdminPassword = "glanceAdminPassword";
|
|
||||||
|
|
||||||
createDb = pkgs.writeText "db-provisionning.sql" ''
|
|
||||||
create database keystone;
|
|
||||||
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
|
|
||||||
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
|
|
||||||
|
|
||||||
create database glance;
|
|
||||||
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '${glanceMysqlPassword}';
|
|
||||||
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '${glanceMysqlPassword}';
|
|
||||||
'';
|
|
||||||
|
|
||||||
image =
|
|
||||||
(import ../lib/eval-config.nix {
|
|
||||||
inherit system;
|
|
||||||
modules = [ ../../nixos/modules/virtualisation/nova-image.nix ];
|
|
||||||
}).config.system.build.novaImage;
|
|
||||||
|
|
||||||
# The admin keystone account
|
|
||||||
adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=keystone OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
|
|
||||||
|
|
||||||
in makeTest {
|
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
|
||||||
maintainers = [ lewo ];
|
|
||||||
};
|
|
||||||
machine =
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
services.mysql.enable = true;
|
|
||||||
services.mysql.package = pkgs.mysql;
|
|
||||||
services.mysql.initialScript = createDb;
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
openstack.keystone = {
|
|
||||||
enable = true;
|
|
||||||
database.password = { value = "keystone"; storage = "fromNixStore"; };
|
|
||||||
adminToken = { value = "adminToken"; storage = "fromNixStore"; };
|
|
||||||
bootstrap.enable = true;
|
|
||||||
bootstrap.adminPassword = { value = "keystone"; storage = "fromNixStore"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
openstack.glance = {
|
|
||||||
enable = true;
|
|
||||||
database.password = { value = glanceMysqlPassword; storage = "fromNixStore"; };
|
|
||||||
servicePassword = { value = glanceAdminPassword; storage = "fromNixStore"; };
|
|
||||||
|
|
||||||
bootstrap = {
|
|
||||||
enable = true;
|
|
||||||
keystoneAdminPassword = { value = "keystone"; storage = "fromNixStore"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
memorySize = 2096;
|
|
||||||
diskSize = 4 * 1024;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs.pythonPackages; with pkgs; [
|
|
||||||
openstackclient
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript =
|
|
||||||
''
|
|
||||||
$machine->waitForUnit("glance-api.service");
|
|
||||||
|
|
||||||
# Since Glance api can take time to start, we retry until success
|
|
||||||
$machine->waitUntilSucceeds("${adminOpenstackCmd} image create nixos --file ${image}/nixos.img --disk-format qcow2 --container-format bare --public");
|
|
||||||
$machine->succeed("${adminOpenstackCmd} image list") =~ /nixos/ or die;
|
|
||||||
'';
|
|
||||||
}
|
|
@ -36,6 +36,9 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
startAll;
|
startAll;
|
||||||
|
|
||||||
$master->waitForUnit("jenkins");
|
$master->waitForUnit("jenkins");
|
||||||
|
|
||||||
|
$master->mustSucceed("curl http://localhost:8080 | grep 'Authentication required'");
|
||||||
|
|
||||||
print $master->execute("sudo -u jenkins groups");
|
print $master->execute("sudo -u jenkins groups");
|
||||||
$master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
|
$master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
|
||||||
|
|
||||||
|
@ -1,82 +0,0 @@
|
|||||||
{ system ? builtins.currentSystem }:
|
|
||||||
|
|
||||||
with import ../lib/testing.nix { inherit system; };
|
|
||||||
with pkgs.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
keystoneMysqlPassword = "keystoneMysqlPassword";
|
|
||||||
keystoneMysqlPasswordFile = "/var/run/keystoneMysqlPassword";
|
|
||||||
keystoneAdminPassword = "keystoneAdminPassword";
|
|
||||||
|
|
||||||
createKeystoneDb = pkgs.writeText "create-keystone-db.sql" ''
|
|
||||||
create database keystone;
|
|
||||||
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '${keystoneMysqlPassword}';
|
|
||||||
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '${keystoneMysqlPassword}';
|
|
||||||
'';
|
|
||||||
# The admin keystone account
|
|
||||||
adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=${keystoneAdminPassword} OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
|
|
||||||
# The created demo keystone account
|
|
||||||
demoOpenstackCmd = "OS_TENANT_NAME=demo OS_USERNAME=demo OS_PASSWORD=demo OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack";
|
|
||||||
|
|
||||||
in makeTest {
|
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
|
||||||
maintainers = [ lewo ];
|
|
||||||
};
|
|
||||||
machine =
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
# This is to simulate nixops deployment process.
|
|
||||||
# https://nixos.org/nixops/manual/#opt-deployment.keys
|
|
||||||
boot.postBootCommands = "echo ${keystoneMysqlPassword} > ${keystoneMysqlPasswordFile}";
|
|
||||||
|
|
||||||
services.mysql.enable = true;
|
|
||||||
services.mysql.initialScript = createKeystoneDb;
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
|
|
||||||
openstack.keystone = {
|
|
||||||
enable = true;
|
|
||||||
# Check if we can get the secret from a file
|
|
||||||
database.password = {
|
|
||||||
value = keystoneMysqlPasswordFile;
|
|
||||||
storage = "fromFile";
|
|
||||||
};
|
|
||||||
adminToken = {
|
|
||||||
value = "adminToken";
|
|
||||||
storage = "fromNixStore";
|
|
||||||
};
|
|
||||||
|
|
||||||
bootstrap.enable = true;
|
|
||||||
# Check if we can get the secret from the store
|
|
||||||
bootstrap.adminPassword = {
|
|
||||||
value = keystoneAdminPassword;
|
|
||||||
storage = "fromNixStore";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
memorySize = 2096;
|
|
||||||
diskSize = 4 * 1024;
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs.pythonPackages; with pkgs; [
|
|
||||||
openstackclient
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript =
|
|
||||||
''
|
|
||||||
$machine->waitForUnit("keystone-all.service");
|
|
||||||
|
|
||||||
# Verify that admin ccount is working
|
|
||||||
$machine->succeed("${adminOpenstackCmd} token issue");
|
|
||||||
|
|
||||||
# Try to create a new user
|
|
||||||
$machine->succeed("${adminOpenstackCmd} project create --domain default --description 'Demo Project' demo");
|
|
||||||
$machine->succeed("${adminOpenstackCmd} user create --domain default --password demo demo");
|
|
||||||
$machine->succeed("${adminOpenstackCmd} role create user");
|
|
||||||
$machine->succeed("${adminOpenstackCmd} role add --project demo --user demo user");
|
|
||||||
|
|
||||||
# Verify this new account is working
|
|
||||||
$machine->succeed("${demoOpenstackCmd} token issue");
|
|
||||||
'';
|
|
||||||
}
|
|
@ -6,11 +6,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "bitwig-studio-${version}";
|
name = "bitwig-studio-${version}";
|
||||||
version = "2.1.3";
|
version = "2.2.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
|
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
|
||||||
sha256 = "0blfw7dayl1wzys11mdixlkbr1p1d5rnwrvim1hblfpnw2zmlslb";
|
sha256 = "1x4wka32xlygmhdh9rb15s37zh5qjrgap2qk35y34c52lf5aak22";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dpkg makeWrapper ];
|
nativeBuildInputs = [ dpkg makeWrapper ];
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
||||||
, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
|
, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
|
||||||
|
|
||||||
, suil
|
, suil
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ingen-unstable-${rev}";
|
name = "ingen-unstable-${rev}";
|
||||||
rev = "2017-01-18";
|
rev = "2017-07-22";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "http://git.drobilla.net/cgit.cgi/ingen.git";
|
url = "https://git.drobilla.net/cgit.cgi/ingen.git";
|
||||||
rev = "02ae3e9d8bf3f6a5e844706721aad8c0ac9f4340";
|
rev = "cc4a4db33f4d126a07a4a498e053c5fb9a883be3";
|
||||||
sha256 = "15s8nrzn68hc2s6iw0zshbz3lfnsq0mr6gflq05xm911b7xbp74k";
|
sha256 = "1gmwmml486r9zq4w65v91mfaz36af9zzyjkmi74m8qmh67ffqn3w";
|
||||||
|
deepClone = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper
|
boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper
|
||||||
python raul serd sord sratom suil
|
python raul serd sord sratom suil
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qsampler-${version}";
|
name = "qsampler-${version}";
|
||||||
version = "0.4.3";
|
version = "0.5.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/qsampler/${name}.tar.gz";
|
url = "mirror://sourceforge/qsampler/${name}.tar.gz";
|
||||||
sha256 = "1wg19022gyzy8rk9npfav9kz9z2qicqwwb2x5jz5hshzf3npx1fi";
|
sha256 = "0kn1mv31ygjjsric03pkbv7r8kg3bri9ldx2ajc9pyx0p8ggnbmc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];
|
nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "atom-${version}";
|
name = "atom-${version}";
|
||||||
version = "1.22.0";
|
version = "1.23.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||||
sha256 = "1jxw0m1hfaisf1f875wr28f0mr3h0wjml6pjhfxbybvcblpnd27k";
|
sha256 = "14cwg48cxrhkcj8ahfznqr1ym316437xds7aw5011dqbmswb0v4f";
|
||||||
name = "${name}.deb";
|
name = "${name}.deb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -46,6 +46,9 @@ self:
|
|||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
bufshow = markBroken super.bufshow;
|
bufshow = markBroken super.bufshow;
|
||||||
|
|
||||||
|
# part of a larger package
|
||||||
|
caml = dontConfigure super.caml;
|
||||||
|
|
||||||
# part of a larger package
|
# part of a larger package
|
||||||
# upstream issue: missing package version
|
# upstream issue: missing package version
|
||||||
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
||||||
|
@ -45,6 +45,9 @@ self:
|
|||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
bufshow = markBroken super.bufshow;
|
bufshow = markBroken super.bufshow;
|
||||||
|
|
||||||
|
# part of a larger package
|
||||||
|
caml = dontConfigure super.caml;
|
||||||
|
|
||||||
# part of a larger package
|
# part of a larger package
|
||||||
# upstream issue: missing package version
|
# upstream issue: missing package version
|
||||||
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
||||||
|
@ -1,18 +1,20 @@
|
|||||||
{ stdenv, fetchFromGitHub, getopt, which, pkgconfig, gtk3 } :
|
{ stdenv, fetchFromGitHub, pkgconfig
|
||||||
|
, ffmpeg, gtk3, imagemagick, libarchive, libspectre, libwebp, poppler
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
name = "pqiv-${version}";
|
name = "pqiv-${version}";
|
||||||
version = "2.10.1";
|
version = "2.10.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "phillipberndt";
|
owner = "phillipberndt";
|
||||||
repo = "pqiv";
|
repo = "pqiv";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "06blqckj3bpbi2kl5ndv2d10r7nw62r386kfwrkic9amynlv9gki";
|
sha256 = "0zn7ps73lw04l9i4777c90ik07v3hkg66mnpz8vvvwjyi40i77a7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ getopt which gtk3 ];
|
buildInputs = [ ffmpeg gtk3 imagemagick libarchive libspectre libwebp poppler ];
|
||||||
|
|
||||||
prePatch = "patchShebangs .";
|
prePatch = "patchShebangs .";
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ callPackage, fetchgit, ... } @ args:
|
{ callPackage, fetchgit, ... } @ args:
|
||||||
|
|
||||||
callPackage ./generic.nix (args // {
|
callPackage ./generic.nix (args // {
|
||||||
version = "2016-06-11";
|
version = "2017-12-01";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
sha256 = "0jpavig7bg7l72drlwipmsg03j6qdy5aq2r3kj6a2h6ahpnm2549";
|
sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
|
||||||
rev = "5ba37467e88ca8052973b37128ce8fd36ad5d61d";
|
rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
|
||||||
url = "git://alioth.debian.org/git/sane/sane-backends.git";
|
url = "git://alioth.debian.org/git/sane/sane-backends.git";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -25,7 +25,6 @@ in
|
|||||||
description = "Host tools and driver library for the AirSpy SDR";
|
description = "Host tools and driver library for the AirSpy SDR";
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainer = with maintainers; [ markuskowa ];
|
maintainers = with maintainers; [ markuskowa ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
{ stdenv, lib, go, fetchgit, git, buildGoPackage }:
|
|
||||||
|
|
||||||
buildGoPackage rec {
|
|
||||||
name = "camlistore-${version}";
|
|
||||||
version = "0.9";
|
|
||||||
|
|
||||||
src = fetchgit {
|
|
||||||
url = "https://github.com/camlistore/camlistore";
|
|
||||||
rev = "refs/tags/${version}";
|
|
||||||
sha256 = "1ypplr939ny9drsdngapa029fgak0wic8sbna588m79cbl17psya";
|
|
||||||
leaveDotGit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ git ];
|
|
||||||
|
|
||||||
goPackagePath = "";
|
|
||||||
buildPhase = ''
|
|
||||||
cd go/src/camlistore
|
|
||||||
go run make.go
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $bin/bin
|
|
||||||
rm bin/README
|
|
||||||
cp bin/* $bin/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A way of storing, syncing, sharing, modelling and backing up content";
|
|
||||||
homepage = https://camlistore.org;
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [ cstrahan ];
|
|
||||||
platforms = platforms.unix;
|
|
||||||
};
|
|
||||||
}
|
|
@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ipmicfg-${version}";
|
name = "ipmicfg-${version}";
|
||||||
version = "1.27.0";
|
version = "1.27.1";
|
||||||
buildVersion = "170620";
|
buildVersion = "170901";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_${version}_build.${buildVersion}.zip";
|
url = "ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_${version}_build.${buildVersion}.zip";
|
||||||
sha256 = "0jr2vih4hzymb62mbqyykwcrjhbhazf6wr1g0cq8ji586i3z3vw5";
|
sha256 = "11xhzw36pg4has8857pypf44cni8m2mg8qsqi1s4bfjbxlfgxgwk";
|
||||||
|
extraPostFetch = "chmod u+rwX,go-rwx+X $out/";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -7,13 +7,13 @@ with stdenv.lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "keepassxc-${version}";
|
name = "keepassxc-${version}";
|
||||||
version = "2.2.2";
|
version = "2.2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "keepassxreboot";
|
owner = "keepassxreboot";
|
||||||
repo = "keepassxc";
|
repo = "keepassxc";
|
||||||
rev = "${version}";
|
rev = "${version}";
|
||||||
sha256 = "01pqpa3vzk2q1vrj2lqayr7a3nzpnj176yhnqbrwlm3s9rga4wzn";
|
sha256 = "0q913v2ka6p7jr7c4w9fq8aqh5v6nxqgcv9h7zllk5p0amsf8d80";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
31
pkgs/applications/misc/perkeep/default.nix
Normal file
31
pkgs/applications/misc/perkeep/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, lib, go_1_8, fetchzip, git }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "perkeep-${version}";
|
||||||
|
version = "20170505";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://perkeep.org/dl/monthly/camlistore-${version}-src.zip";
|
||||||
|
sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ git go_1_8 ];
|
||||||
|
|
||||||
|
goPackagePath = "";
|
||||||
|
buildPhase = ''
|
||||||
|
go run make.go
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp bin/* $out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
|
||||||
|
homepage = https://perkeep.org;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ cstrahan ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -1,28 +1,30 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl
|
{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl
|
||||||
, opencl-headers, ocl-icd, hwloc, cudatoolkit
|
, opencl-headers, ocl-icd, hwloc, cudatoolkit
|
||||||
, devDonationLevel ? "0.0"
|
, devDonationLevel ? "0.0"
|
||||||
, cudaSupport ? false # doesn't work currently
|
, cudaSupport ? false
|
||||||
|
, openclSupport ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "xmr-stak-${version}";
|
name = "xmr-stak-${version}";
|
||||||
version = "2.0.0";
|
version = "2.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fireice-uk";
|
owner = "fireice-uk";
|
||||||
repo = "xmr-stak";
|
repo = "xmr-stak";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1gsp5d2qmc8qwbfm87c2vnak6ks6y9csfjbsi0570pdciapaf8vs";
|
sha256 = "0ijhimsd03v1psj7pyj70z4rrgfvphpf69y7g72p06010xq1agp8";
|
||||||
};
|
};
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-O3";
|
NIX_CFLAGS_COMPILE = "-O3";
|
||||||
|
|
||||||
cmakeFlags = lib.optional (!cudaSupport) "-DCUDA_ENABLE=OFF";
|
cmakeFlags = lib.optional (!cudaSupport) "-DCUDA_ENABLE=OFF"
|
||||||
|
++ lib.optional (!openclSupport) "-DOpenCL_ENABLE=OFF";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs =
|
buildInputs = [ libmicrohttpd openssl hwloc ]
|
||||||
[ libmicrohttpd openssl opencl-headers ocl-icd hwloc ]
|
++ lib.optional cudaSupport cudatoolkit
|
||||||
++ lib.optional cudaSupport cudatoolkit;
|
++ lib.optionals openclSupport [ opencl-headers ocl-icd ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace xmrstak/donate-level.hpp \
|
substituteInPlace xmrstak/donate-level.hpp \
|
||||||
|
@ -94,12 +94,12 @@ let
|
|||||||
|
|
||||||
flash = stdenv.mkDerivation rec {
|
flash = stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-ppapi-${version}";
|
name = "flashplayer-ppapi-${version}";
|
||||||
version = "27.0.0.187";
|
version = "28.0.0.126";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
||||||
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||||
sha256 = "102z9aflm0a29klc26jch3wl4y8hdrxzqdqvf5yj0bnibx3hwpsy";
|
sha256 = "10q005jp5vcfqx35jzwp138djv9g7jp83jqbyism40k67ah33i1z";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -73,25 +73,25 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-${version}";
|
name = "flashplayer-${version}";
|
||||||
version = "27.0.0.187";
|
version = "28.0.0.126";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
if debug then
|
if debug then
|
||||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_npapi_linux_debug.${arch}.tar.gz"
|
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_npapi_linux_debug.${arch}.tar.gz"
|
||||||
else
|
else
|
||||||
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
|
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
|
||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"1ii97fa1diyggarh1gkg43ia42ws7x84hpjzvrdhxcf6s47lh2ld"
|
"16ivf0j7kr7hak2pxs4mbhw5g0i8ky72mvdkaxpfq42g4mr7qf62"
|
||||||
else
|
else
|
||||||
"1gphlgy64ddzn4bbgr2k1kh8xwq9ghf0z0c6zilry0nq33i64xa1"
|
"09dn1zr5bcfvkb46z86p7gr2g9p0a3nj9vvw1qw2fblvbajmznk0"
|
||||||
else
|
else
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"1hfcphcvdam62k983rm6r42mnkih4nfwyrnx0v88z3nw14mjr4c3"
|
"0z5p3zimvx8zas649gn2nzp4gfvwc69hklza3d2hpmzb35ckfqbc"
|
||||||
else
|
else
|
||||||
"06jb4jd5840w125wd4l35f0b1iqjak07ajy02k9j8srglwi0ffmw";
|
"0kyyjqim7qq0am2hr9ldcbm4sx8dsbgf3916km9gbgg8vjddgxwy";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -55,19 +55,19 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-standalone-${version}";
|
name = "flashplayer-standalone-${version}";
|
||||||
version = "27.0.0.187";
|
version = "28.0.0.126";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
if debug then
|
if debug then
|
||||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux_debug.x86_64.tar.gz"
|
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux_debug.x86_64.tar.gz"
|
||||||
else
|
else
|
||||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux.x86_64.tar.gz";
|
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/28/flash_player_sa_linux.x86_64.tar.gz";
|
||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
"1857g4yy62pj02pnw7p9bpqazp98jf17yv2xdh1fkqiibzahjc6m"
|
"07692qivf09zh36vlaczwwq93f8p7v1afnsgkry7m9yybxh1753d"
|
||||||
else
|
else
|
||||||
"0kywx7c3qb1hfljc14ddzm1cyhvwygbbdfxp1rdhqw8s3b6ns0hw";
|
"14xj55wjp9jvm01n8bwrbwmkhpcrxc44yfqi3jq8f8pzrqi7smck";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -29,13 +29,13 @@ let
|
|||||||
|
|
||||||
in buildPythonApplication rec {
|
in buildPythonApplication rec {
|
||||||
name = "qutebrowser-${version}${fix_postfix}";
|
name = "qutebrowser-${version}${fix_postfix}";
|
||||||
fix_postfix = "-1";
|
fix_postfix = "";
|
||||||
version = "1.0.3";
|
version = "1.0.4";
|
||||||
namePrefix = "";
|
namePrefix = "";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
|
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
|
||||||
sha256 = "04d6hg2yf2wjwn0sd05bpx3zngnb93g7rizbdq17bbpmnwxchzap";
|
sha256 = "0z8zrgr914bfmimqk3l17dxyc7gzh42sw8lfp041zzvj6fxw3lkr";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Needs tox
|
# Needs tox
|
||||||
|
@ -23,7 +23,7 @@ let
|
|||||||
in buildGoPackage rec {
|
in buildGoPackage rec {
|
||||||
pname = "minikube";
|
pname = "minikube";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
version = "0.23.0";
|
version = "0.24.1";
|
||||||
|
|
||||||
goPackagePath = "k8s.io/minikube";
|
goPackagePath = "k8s.io/minikube";
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ in buildGoPackage rec {
|
|||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "minikube";
|
repo = "minikube";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1f7kjn26y7knmab5avj8spb40ny1y0jix5j5p0dqfjvg9climl0h";
|
sha256 = "18b5ic4lcn84hq2ji5alyx58x9vi0b03544i5xzfgn3h2k78kynk";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -65,6 +65,8 @@ in buildGoPackage rec {
|
|||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $bin/share/bash-completion/completions/
|
mkdir -p $bin/share/bash-completion/completions/
|
||||||
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
|
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
|
||||||
|
mkdir -p $bin/share/zsh/site-functions/
|
||||||
|
MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion zsh > $bin/share/zsh/site-functions/_minikube
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
|
postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "discord";
|
pname = "discord";
|
||||||
version = "0.0.2";
|
version = "0.0.3";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://cdn.discordapp.com/apps/linux/${version}/${pname}-${version}.tar.gz";
|
url = "https://cdn.discordapp.com/apps/linux/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0sb7l0rrpqxzn4fndjr50r5xfiid1f81p22gda4mz943yv37mhfz";
|
sha256 = "1yxxy9q75zlgk1b4winw4zy9yxk5pn8x4camh52n6v3mw6gq0bfh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchFromGitHub, ocamlPackages, opam}:
|
{ stdenv, fetchFromGitHub, ocamlPackages }:
|
||||||
|
|
||||||
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
|
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
|
||||||
|
|
||||||
@ -16,13 +16,12 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = with ocamlPackages; [
|
buildInputs = with ocamlPackages; [
|
||||||
ocaml ocamlbuild findlib topkg ppx_sexp_conv
|
ocaml ocamlbuild findlib topkg ppx_sexp_conv
|
||||||
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
|
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
|
||||||
ptime notty sexplib_p4 hex uutf opam
|
ptime notty sexplib_p4 hex uutf
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = with ocamlPackages;
|
buildPhase = "${ocamlPackages.topkg.run} build --pinned true";
|
||||||
"ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build --pinned true";
|
|
||||||
|
|
||||||
installPhase = "opam-installer --prefix=$out --script | sh";
|
inherit (ocamlPackages.topkg) installPhase;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/hannesm/jackline;
|
homepage = https://github.com/hannesm/jackline;
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||||
|
# source of the latter disappears much faster.
|
||||||
version = "8.11.0.4";
|
version = "8.11.0.4";
|
||||||
|
|
||||||
rpath = stdenv.lib.makeLibraryPath [
|
rpath = stdenv.lib.makeLibraryPath [
|
||||||
@ -55,7 +57,7 @@ let
|
|||||||
if stdenv.system == "x86_64-linux" then
|
if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
|
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
|
||||||
sha256 = "1dq7k4zlqqsx7786phialia5xbpc3cp1wrjhqrvga09yg4dl505c";
|
sha256 = "1chwc4rqcwwim03n6nski5dar33bb1gnadbvcjg6gln3xqr0ipib";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw "Skype for linux is not supported on ${stdenv.system}";
|
throw "Skype for linux is not supported on ${stdenv.system}";
|
||||||
|
@ -15,14 +15,14 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "20171027";
|
version = "20171208";
|
||||||
name = "neomutt-${version}";
|
name = "neomutt-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neomutt";
|
owner = "neomutt";
|
||||||
repo = "neomutt";
|
repo = "neomutt";
|
||||||
rev = "neomutt-${version}";
|
rev = "neomutt-${version}";
|
||||||
sha256 = "0pwc5zdxc9h23658dfkzndfj1ld3ijyvcxmsiv793y3i4dig0s3n";
|
sha256 = "1fn28q4akfz0nq3ysp8n53j8yqp2mx6yhbvb59c4zm6zgd4qzgp1";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
# - coqide compilation can be disabled by setting lablgtk to null;
|
{ stdenv, fetchFromGitHub, pkgconfig, ocaml }:
|
||||||
|
|
||||||
{stdenv, fetchurl, pkgconfig, ocaml, camlp5}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "ott-${version}";
|
name = "ott-${version}";
|
||||||
version = "0.25";
|
version = "0.27";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://www.cl.cam.ac.uk/~pes20/ott/ott_distro_${version}.tar.gz";
|
owner = "ott-lang";
|
||||||
sha256 = "0i8ad1yrz9nrrgpi8db4z0aii5s0sy35mmzdfw5nq183mvbx8qqd";
|
repo = "ott";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "12hzpyinswqaxwp6y793h7ywrv6289cw4911ah2yzq04ji095pfb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ ocaml camlp5 ];
|
buildInputs = [ ocaml ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
ln -s $out/bin/ott.opt $out/bin/ott
|
ln -s $out/bin/ott.opt $out/bin/ott
|
||||||
|
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
cp emacs/ottmode.el $out/share/emacs/site-lisp
|
cp emacs/ott-mode.el $out/share/emacs/site-lisp
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
31
pkgs/applications/science/logic/z3/4.5.0.nix
Normal file
31
pkgs/applications/science/logic/z3/4.5.0.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, python2, fixDarwinDylibNames }:
|
||||||
|
|
||||||
|
let
|
||||||
|
python = python2;
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
name = "z3-${version}";
|
||||||
|
version = "4.5.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Z3Prover";
|
||||||
|
repo = "z3";
|
||||||
|
rev = "z3-4.5.0";
|
||||||
|
sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ python fixDarwinDylibNames ];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
${python.interpreter} scripts/mk_make.py --prefix=$out --python --pypkgdir=$out/${python.sitePackages}
|
||||||
|
cd build
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A high-performance theorem prover and SMT solver";
|
||||||
|
homepage = "https://github.com/Z3Prover/z3";
|
||||||
|
license = stdenv.lib.licenses.mit;
|
||||||
|
platforms = stdenv.lib.platforms.unix;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gerrit-${version}";
|
name = "gerrit-${version}";
|
||||||
version = "2.14.3";
|
version = "2.14.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
|
url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
|
||||||
sha256 = "1hxrlhp5l5q4lp5b5bq8va7856cnm4blfv01rgqq3yhvn432sq6v";
|
sha256 = "0fsqwfsnyb4nbxgb1i1mp0vshl0mk8bwqlddzqr9x2v99mbca28q";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = "1j1afxv7yj2fxaw0wy8kmxi6sl9fwj8xsxs5kzg9qz5gzayb26kp";
|
outputHash = "1qrmvqqnlbabqz4yx06vi030ci12v0063iq2palxmbj3whrzv9la";
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
mkdir -p "$out"/webapps/
|
mkdir -p "$out"/webapps/
|
||||||
|
26
pkgs/applications/version-management/gitless/default.nix
Normal file
26
pkgs/applications/version-management/gitless/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ fetchFromGitHub, pythonPackages, stdenv }:
|
||||||
|
|
||||||
|
pythonPackages.buildPythonApplication rec {
|
||||||
|
ver = "0.8.5";
|
||||||
|
name = "gitless-${ver}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "sdg-mit";
|
||||||
|
repo = "gitless";
|
||||||
|
rev = "v${ver}";
|
||||||
|
sha256 = "1v22i5lardswpqb6vxjgwra3ac8652qyajbijfj18vlkhajz78hq";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with pythonPackages; [ sh pygit2 clint ];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://gitless.com/;
|
||||||
|
description = "A version control system built on top of Git";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = [ maintainers.cransom ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,69 +0,0 @@
|
|||||||
{ stdenv, fetchurl, python2Packages, sqlite, which, strace }:
|
|
||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
|
||||||
name = "glance-${version}";
|
|
||||||
version = "11.0.0";
|
|
||||||
namePrefix = "";
|
|
||||||
|
|
||||||
PBR_VERSION = "${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/openstack/glance/archive/${version}.tar.gz";
|
|
||||||
sha256 = "05rz1lmzdmpnw8sf87vvi0l6q9g6s840z934zyinw17yfcvmqrdg";
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://github.com/openstack/glance/blob/stable/liberty/requirements.txt
|
|
||||||
propagatedBuildInputs = with python2Packages; [
|
|
||||||
pbr sqlalchemy anyjson eventlet PasteDeploy routes webob sqlalchemy_migrate
|
|
||||||
httplib2 pycrypto iso8601 stevedore futurist keystonemiddleware paste
|
|
||||||
jsonschema keystoneclient pyopenssl six retrying semantic-version qpid-python
|
|
||||||
WSME osprofiler glance_store castellan taskflow cryptography xattr pysendfile
|
|
||||||
|
|
||||||
# oslo componenets
|
|
||||||
oslo-config oslo-context oslo-concurrency oslo-service oslo-utils oslo-db
|
|
||||||
oslo-i18n oslo-log oslo-messaging oslo-middleware oslo-policy oslo-serialization
|
|
||||||
MySQL_python
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = with python2Packages; [
|
|
||||||
Babel coverage fixtures mox3 mock oslosphinx requests testrepository pep8
|
|
||||||
testresources testscenarios testtools psutil_1 oslotest psycopg2
|
|
||||||
sqlite which strace
|
|
||||||
];
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
# it's not a test, but a class mixin
|
|
||||||
sed -i 's/ImageCacheTestCase/ImageCacheMixin/' glance/tests/unit/test_image_cache.py
|
|
||||||
|
|
||||||
# these require network access, see https://bugs.launchpad.net/glance/+bug/1508868
|
|
||||||
sed -i 's/test_get_image_data_http/noop/' glance/tests/unit/common/scripts/test_scripts_utils.py
|
|
||||||
sed -i 's/test_set_image_data_http/noop/' glance/tests/unit/common/scripts/image_import/test_main.py
|
|
||||||
sed -i 's/test_create_image_with_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py
|
|
||||||
sed -i 's/test_upload_image_http_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py
|
|
||||||
|
|
||||||
# TODO: couldn't figure out why this test is failing
|
|
||||||
sed -i 's/test_all_task_api/noop/' glance/tests/integration/v2/test_tasks_api.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# check all binaries don't crash
|
|
||||||
for i in $out/bin/*; do
|
|
||||||
case "$i" in
|
|
||||||
*glance-artifacts) # https://bugs.launchpad.net/glance/+bug/1508879
|
|
||||||
:
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
$i --help
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
cp etc/*-paste.ini $out/etc/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = http://glance.openstack.org/;
|
|
||||||
description = "Services for discovering, registering, and retrieving virtual machine images";
|
|
||||||
license = stdenv.lib.licenses.asl20;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
{ stdenv, fetchurl, python2Packages, xmlsec, which, openssl }:
|
|
||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
|
||||||
name = "keystone-${version}";
|
|
||||||
version = "8.0.0";
|
|
||||||
namePrefix = "";
|
|
||||||
|
|
||||||
PBR_VERSION = "${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/openstack/keystone/archive/${version}.tar.gz";
|
|
||||||
sha256 = "1xbrs7xgwjzrs07zyxxcl2lq18dh582gd6lx1zzzji8c0qmffy0z";
|
|
||||||
};
|
|
||||||
|
|
||||||
# remove on next version bump
|
|
||||||
patches = [ ./remove-oslo-policy-tests.patch ];
|
|
||||||
|
|
||||||
# https://github.com/openstack/keystone/blob/stable/liberty/requirements.txt
|
|
||||||
propagatedBuildInputs = with python2Packages; [
|
|
||||||
pbr webob eventlet greenlet PasteDeploy paste routes cryptography six
|
|
||||||
sqlalchemy sqlalchemy_migrate stevedore passlib keystoneclient memcached
|
|
||||||
keystonemiddleware oauthlib pysaml2 dogpile_cache jsonschema pycadf msgpack
|
|
||||||
xmlsec MySQL_python
|
|
||||||
|
|
||||||
# oslo
|
|
||||||
oslo-cache oslo-concurrency oslo-config oslo-context oslo-messaging oslo-db
|
|
||||||
oslo-i18n oslo-log oslo-middleware oslo-policy oslo-serialization oslo-service
|
|
||||||
oslo-utils
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = with python2Packages; [
|
|
||||||
coverage fixtures mock subunit tempest-lib testtools testrepository
|
|
||||||
ldap ldappool webtest requests oslotest pep8 pymongo which
|
|
||||||
];
|
|
||||||
|
|
||||||
makeWrapperArgs = ["--prefix PATH : '${openssl.bin}/bin:$PATH'"];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# install .ini files
|
|
||||||
mkdir -p $out/etc
|
|
||||||
cp etc/* $out/etc
|
|
||||||
|
|
||||||
# check all binaries don't crash
|
|
||||||
for i in $out/bin/*; do
|
|
||||||
$i --help
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = http://keystone.openstack.org/;
|
|
||||||
description = "Authentication, authorization and service discovery mechanisms via HTTP";
|
|
||||||
license = stdenv.lib.licenses.asl20;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,93 +0,0 @@
|
|||||||
From 3aefdf4de76fdcdc02093bc631e339f9ecd4c707 Mon Sep 17 00:00:00 2001
|
|
||||||
From: James Page <james.page@ubuntu.com>
|
|
||||||
Date: Fri, 18 Sep 2015 16:38:47 +0100
|
|
||||||
Subject: Add compatibility with iproute2 >= 4.0
|
|
||||||
|
|
||||||
The ip netns list command adds additional id data in more recent
|
|
||||||
versions of iproute2 of the format:
|
|
||||||
|
|
||||||
qdhcp-35fc068a-750d-4add-b1d2-af392dbd8790 (id: 1)
|
|
||||||
|
|
||||||
Update parsing to deal with old and new formats.
|
|
||||||
|
|
||||||
Change-Id: I0d3fc4262284172f5ad31e4f2f78ae1fb33b4228
|
|
||||||
Closes-Bug: 1497309
|
|
||||||
---
|
|
||||||
neutron/agent/linux/ip_lib.py | 6 +++---
|
|
||||||
neutron/tests/functional/agent/test_l3_agent.py | 2 +-
|
|
||||||
neutron/tests/unit/agent/linux/test_ip_lib.py | 15 +++++++++++++++
|
|
||||||
3 files changed, 19 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/neutron/agent/linux/ip_lib.py b/neutron/agent/linux/ip_lib.py
|
|
||||||
index 551341a..a717bf6 100644
|
|
||||||
--- a/neutron/agent/linux/ip_lib.py
|
|
||||||
+++ b/neutron/agent/linux/ip_lib.py
|
|
||||||
@@ -208,7 +208,7 @@ class IPWrapper(SubProcessBase):
|
|
||||||
@classmethod
|
|
||||||
def get_namespaces(cls):
|
|
||||||
output = cls._execute([], 'netns', ('list',))
|
|
||||||
- return [l.strip() for l in output.split('\n')]
|
|
||||||
+ return [l.split()[0] for l in output.splitlines()]
|
|
||||||
|
|
||||||
|
|
||||||
class IPDevice(SubProcessBase):
|
|
||||||
@@ -819,8 +819,8 @@ class IpNetnsCommand(IpCommandBase):
|
|
||||||
output = self._parent._execute(
|
|
||||||
['o'], 'netns', ['list'],
|
|
||||||
run_as_root=cfg.CONF.AGENT.use_helper_for_ns_read)
|
|
||||||
- for line in output.split('\n'):
|
|
||||||
- if name == line.strip():
|
|
||||||
+ for line in [l.split()[0] for l in output.splitlines()]:
|
|
||||||
+ if name == line:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
diff --git a/neutron/tests/functional/agent/test_l3_agent.py b/neutron/tests/functional/agent/test_l3_agent.py
|
|
||||||
index ffa20e6..84b16df 100644
|
|
||||||
--- a/neutron/tests/functional/agent/test_l3_agent.py
|
|
||||||
+++ b/neutron/tests/functional/agent/test_l3_agent.py
|
|
||||||
@@ -790,7 +790,7 @@ class L3HATestFramework(L3AgentTestFramework):
|
|
||||||
get_ns_name = mock.patch.object(
|
|
||||||
namespaces.RouterNamespace, '_get_ns_name').start()
|
|
||||||
get_ns_name.return_value = "%s%s%s" % (
|
|
||||||
- namespaces.RouterNamespace._get_ns_name(router_info['id']),
|
|
||||||
+ 'qrouter-' + router_info['id'],
|
|
||||||
self.NESTED_NAMESPACE_SEPARATOR, self.agent.host)
|
|
||||||
router1 = self.manage_router(self.agent, router_info)
|
|
||||||
|
|
||||||
diff --git a/neutron/tests/unit/agent/linux/test_ip_lib.py b/neutron/tests/unit/agent/linux/test_ip_lib.py
|
|
||||||
index 2de408d..bdfc9d7 100644
|
|
||||||
--- a/neutron/tests/unit/agent/linux/test_ip_lib.py
|
|
||||||
+++ b/neutron/tests/unit/agent/linux/test_ip_lib.py
|
|
||||||
@@ -27,6 +27,11 @@ NETNS_SAMPLE = [
|
|
||||||
'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb',
|
|
||||||
'cccccccc-cccc-cccc-cccc-cccccccccccc']
|
|
||||||
|
|
||||||
+NETNS_SAMPLE_IPROUTE2_4 = [
|
|
||||||
+ '12345678-1234-5678-abcd-1234567890ab (id: 1)',
|
|
||||||
+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb (id: 0)',
|
|
||||||
+ 'cccccccc-cccc-cccc-cccc-cccccccccccc (id: 2)']
|
|
||||||
+
|
|
||||||
LINK_SAMPLE = [
|
|
||||||
'1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN \\'
|
|
||||||
'link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0',
|
|
||||||
@@ -279,6 +284,16 @@ class TestIpWrapper(base.BaseTestCase):
|
|
||||||
|
|
||||||
self.execute.assert_called_once_with([], 'netns', ('list',))
|
|
||||||
|
|
||||||
+ def test_get_namespaces_iproute2_4(self):
|
|
||||||
+ self.execute.return_value = '\n'.join(NETNS_SAMPLE_IPROUTE2_4)
|
|
||||||
+ retval = ip_lib.IPWrapper.get_namespaces()
|
|
||||||
+ self.assertEqual(retval,
|
|
||||||
+ ['12345678-1234-5678-abcd-1234567890ab',
|
|
||||||
+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb',
|
|
||||||
+ 'cccccccc-cccc-cccc-cccc-cccccccccccc'])
|
|
||||||
+
|
|
||||||
+ self.execute.assert_called_once_with([], 'netns', ('list',))
|
|
||||||
+
|
|
||||||
def test_add_tuntap(self):
|
|
||||||
ip_lib.IPWrapper().add_tuntap('tap0')
|
|
||||||
self.execute.assert_called_once_with([], 'tuntap',
|
|
||||||
--
|
|
||||||
cgit v0.11.2
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
|||||||
{ stdenv, fetchurl, python2Packages, xmlsec, which, dnsmasq }:
|
|
||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
|
||||||
name = "neutron-${version}";
|
|
||||||
version = "7.0.0";
|
|
||||||
namePrefix = "";
|
|
||||||
|
|
||||||
PBR_VERSION = "${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/openstack/neutron/archive/${version}.tar.gz";
|
|
||||||
sha256 = "02ll081xly7zfjmgkal81fy3aplbnn5zgx8xfy3yy1nv3kfnyi40";
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt
|
|
||||||
propagatedBuildInputs = with python2Packages; [
|
|
||||||
pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests
|
|
||||||
jinja2 keystonemiddleware netaddr retrying sqlalchemy webob alembic six
|
|
||||||
stevedore pecan ryu networking-hyperv MySQL_python
|
|
||||||
|
|
||||||
# clients
|
|
||||||
keystoneclient neutronclient novaclient
|
|
||||||
|
|
||||||
# oslo components
|
|
||||||
oslo-concurrency oslo-config oslo-context oslo-db oslo-i18n oslo-log oslo-messaging
|
|
||||||
oslo-middleware oslo-policy oslo-rootwrap oslo-serialization oslo-service oslo-utils
|
|
||||||
oslo-versionedobjects
|
|
||||||
];
|
|
||||||
|
|
||||||
# make sure we include migrations
|
|
||||||
prePatch = ''
|
|
||||||
echo "graft neutron" >> MANIFEST.in
|
|
||||||
substituteInPlace etc/neutron/rootwrap.d/dhcp.filters --replace "/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq"
|
|
||||||
'';
|
|
||||||
patches = [ ./neutron-iproute-4.patch ];
|
|
||||||
|
|
||||||
buildInputs = with python2Packages; [
|
|
||||||
cliff coverage fixtures mock subunit requests-mock oslosphinx testrepository
|
|
||||||
testtools testresources testscenarios webtest oslotest os-testr tempest-lib
|
|
||||||
ddt pep8
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
# requires extra optional dependencies
|
|
||||||
# TODO: package networking_mlnx, networking_vsphere, bsnstacklib, XenAPI
|
|
||||||
rm $out/bin/{neutron-mlnx-agent,neutron-ovsvapp-agent,neutron-restproxy-agent,neutron-rootwrap-xen-dom0}
|
|
||||||
|
|
||||||
# check all binaries don't crash
|
|
||||||
for i in $out/bin/*; do
|
|
||||||
case "$i" in
|
|
||||||
*neutron-pd-notify|*neutron-rootwrap-daemon|*neutron-rootwrap)
|
|
||||||
:
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
$i --help
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = http://neutron.openstack.org/;
|
|
||||||
description = "Virtual network service for Openstack";
|
|
||||||
license = stdenv.lib.licenses.asl20;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
# Marked as broken due to needing an update for security issues.
|
|
||||||
# See: https://github.com/NixOS/nixpkgs/issues/18856
|
|
||||||
broken = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,71 +0,0 @@
|
|||||||
{ stdenv, fetchurl, python2Packages, openssl, openssh }:
|
|
||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
|
||||||
name = "nova-${version}";
|
|
||||||
version = "12.0.0";
|
|
||||||
namePrefix = "";
|
|
||||||
|
|
||||||
PBR_VERSION = "${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/openstack/nova/archive/${version}.tar.gz";
|
|
||||||
sha256 = "175n1znvmy8f5vqvabc2fa4qy8y17685z4gzpq8984mdsdnpv21w";
|
|
||||||
};
|
|
||||||
|
|
||||||
# otherwise migrate.cfg is not installed
|
|
||||||
patchPhase = ''
|
|
||||||
echo "graft nova" >> MANIFEST.in
|
|
||||||
|
|
||||||
# remove transient error test, see http://hydra.nixos.org/build/40203534
|
|
||||||
rm nova/tests/unit/compute/test_{shelve,compute_utils}.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
# https://github.com/openstack/nova/blob/stable/liberty/requirements.txt
|
|
||||||
propagatedBuildInputs = with python2Packages; [
|
|
||||||
pbr sqlalchemy boto decorator eventlet jinja2 lxml routes cryptography
|
|
||||||
webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr
|
|
||||||
netifaces paramiko Babel iso8601 jsonschema keystoneclient requests six
|
|
||||||
stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql
|
|
||||||
keystonemiddleware MySQL_python
|
|
||||||
|
|
||||||
# oslo components
|
|
||||||
oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context
|
|
||||||
oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging
|
|
||||||
oslo-concurrency oslo-versionedobjects
|
|
||||||
|
|
||||||
# clients
|
|
||||||
cinderclient neutronclient glanceclient
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = with python2Packages; [
|
|
||||||
coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx
|
|
||||||
oslotest testrepository testresources testtools tempest-lib bandit
|
|
||||||
oslo-vmware pep8 barbicanclient ironicclient openssl openssh
|
|
||||||
];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
cp -prvd etc $out/etc
|
|
||||||
|
|
||||||
# check all binaries don't crash
|
|
||||||
for i in $out/bin/*; do
|
|
||||||
case "$i" in
|
|
||||||
*nova-dhcpbridge*)
|
|
||||||
:
|
|
||||||
;;
|
|
||||||
*nova-rootwrap*)
|
|
||||||
:
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
$i --help
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = http://nova.openstack.org/;
|
|
||||||
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
|
|
||||||
license = stdenv.lib.licenses.asl20;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,61 +0,0 @@
|
|||||||
From 6016d017004acaae288312b196ef07ea98e9962d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Brant Knudson <bknudson@us.ibm.com>
|
|
||||||
Date: Mon, 12 Oct 2015 15:12:45 -0500
|
|
||||||
Subject: [PATCH] Remove oslo.policy implementation tests from keystone
|
|
||||||
|
|
||||||
oslo.policy 0.12.0 contains a change to use requests to do the http
|
|
||||||
check rather than urllib. This change caused keystone tests to fail
|
|
||||||
because the keystone tests were mocking urllib, making assumptions
|
|
||||||
about how oslo.policy is implemented. Keystone doesn't need to test
|
|
||||||
internal features of oslo.policy, so these tests are removed.
|
|
||||||
|
|
||||||
Change-Id: I9d6e4950b9fe75cbb94100c8effdcec002642027
|
|
||||||
Closes-Bug: 1505374
|
|
||||||
---
|
|
||||||
keystone/tests/unit/test_policy.py | 24 ------------------------
|
|
||||||
1 file changed, 24 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/keystone/tests/unit/test_policy.py b/keystone/tests/unit/test_policy.py
|
|
||||||
index b2f0e52..686e2b7 100644
|
|
||||||
--- a/keystone/tests/unit/test_policy.py
|
|
||||||
+++ b/keystone/tests/unit/test_policy.py
|
|
||||||
@@ -16,10 +16,8 @@
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
|
|
||||||
-import mock
|
|
||||||
from oslo_policy import policy as common_policy
|
|
||||||
import six
|
|
||||||
-from six.moves.urllib import request as urlrequest
|
|
||||||
from testtools import matchers
|
|
||||||
|
|
||||||
from keystone import exception
|
|
||||||
@@ -118,28 +116,6 @@ def test_enforce_good_action(self):
|
|
||||||
action = "example:allowed"
|
|
||||||
rules.enforce(self.credentials, action, self.target)
|
|
||||||
|
|
||||||
- def test_enforce_http_true(self):
|
|
||||||
-
|
|
||||||
- def fakeurlopen(url, post_data):
|
|
||||||
- return six.StringIO("True")
|
|
||||||
-
|
|
||||||
- action = "example:get_http"
|
|
||||||
- target = {}
|
|
||||||
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
|
|
||||||
- result = rules.enforce(self.credentials, action, target)
|
|
||||||
- self.assertTrue(result)
|
|
||||||
-
|
|
||||||
- def test_enforce_http_false(self):
|
|
||||||
-
|
|
||||||
- def fakeurlopen(url, post_data):
|
|
||||||
- return six.StringIO("False")
|
|
||||||
-
|
|
||||||
- action = "example:get_http"
|
|
||||||
- target = {}
|
|
||||||
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
|
|
||||||
- self.assertRaises(exception.ForbiddenAction, rules.enforce,
|
|
||||||
- self.credentials, action, target)
|
|
||||||
-
|
|
||||||
def test_templatized_enforcement(self):
|
|
||||||
target_mine = {'project_id': 'fake'}
|
|
||||||
target_not_mine = {'project_id': 'another'}
|
|
@ -14,5 +14,11 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
description = "An LD_PRELOAD library to intercept and rewrite the paths in glibc calls";
|
||||||
|
longDescription = ''
|
||||||
|
libredirect is an LD_PRELOAD library to intercept and rewrite the paths in
|
||||||
|
glibc calls based on the value of $NIX_REDIRECTS, a colon-separated list
|
||||||
|
of path prefixes to be rewritten, e.g. "/src=/dst:/usr/=/nix/store/".
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,22 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
|
{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
|
||||||
, libxml2Python, perl, intltool, gettext, gnome3 }:
|
, libxml2, perl, intltool, gettext, gnome3, dbus, xvfb_run, shared_mime_info }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit (import ./src.nix fetchurl) name src;
|
inherit (import ./src.nix fetchurl) name src;
|
||||||
|
|
||||||
propagatedBuildInputs = [ gtk3 ];
|
propagatedBuildInputs = [
|
||||||
|
# Required by gtksourceview-3.0.pc
|
||||||
|
gtk3
|
||||||
|
# Used by gtk_source_language_manager_guess_language
|
||||||
|
shared_mime_info
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
outputs = [ "out" "dev" ];
|
||||||
buildInputs = [ atk cairo glib pango
|
|
||||||
libxml2Python perl intltool gettext ];
|
nativeBuildInputs = [ pkgconfig intltool gettext perl ]
|
||||||
|
++ stdenv.lib.optionals doCheck checkInputs;
|
||||||
|
buildInputs = [ atk cairo glib pango libxml2 ];
|
||||||
|
checkInputs = [ xvfb_run dbus ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
|
substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
|
||||||
@ -16,6 +24,14 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./nix_share_path.patch ];
|
patches = [ ./nix_share_path.patch ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkPhase = ''
|
||||||
|
export NO_AT_BRIDGE=1
|
||||||
|
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
|
||||||
|
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
|
||||||
|
make check
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = with platforms; linux ++ darwin;
|
||||||
maintainers = gnome3.maintainers;
|
maintainers = gnome3.maintainers;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# Autogenerated by maintainers/scripts/gnome.sh update
|
# Autogenerated by maintainers/scripts/gnome.sh update
|
||||||
|
|
||||||
fetchurl: {
|
fetchurl: {
|
||||||
name = "gtksourceview-3.24.5";
|
name = "gtksourceview-3.24.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://gnome/sources/gtksourceview/3.24/gtksourceview-3.24.5.tar.xz;
|
url = mirror://gnome/sources/gtksourceview/3.24/gtksourceview-3.24.6.tar.xz;
|
||||||
sha256 = "0246185fcc20c4734d01419a83f58f251a82e2a902fe60bb0335187fcf658181";
|
sha256 = "7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
|
{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.11.0";
|
version = "4.13.0";
|
||||||
platform = with stdenv;
|
platform = with stdenv;
|
||||||
if isDarwin then "macosx"
|
if isDarwin then "macosx"
|
||||||
else if isCygwin then "cygwin"
|
else if isCygwin then "cygwin"
|
||||||
@ -17,7 +17,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
|
url = "http://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
|
||||||
sha256 = "12ddyiikqknpr8h6llsxbg2fz75xnayvcnsvr1cwv8xnjn7jpp73";
|
sha256 = "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd";
|
||||||
};
|
};
|
||||||
|
|
||||||
setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
|
setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
|
||||||
|
@ -94,6 +94,9 @@ let
|
|||||||
# Change the #error on GCC > 4.9 to a #warning.
|
# Change the #error on GCC > 4.9 to a #warning.
|
||||||
sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
|
sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
|
||||||
|
|
||||||
|
# Fix builds with newer glibc version
|
||||||
|
sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
|
||||||
|
|
||||||
# Ensure that cmake can find CUDA.
|
# Ensure that cmake can find CUDA.
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
|
echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper, jre, unzip }:
|
{ stdenv, fetchurl, makeWrapper, jre, unzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.1.60";
|
version = "1.2.10";
|
||||||
release = "55";
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
name = "kotlin-${version}";
|
name = "kotlin-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}-release-${release}.zip";
|
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
|
||||||
sha256 = "04vlhpc92pg0bcgapd5w2b3039sgv52km8i0m4mc5yf0ik6hx1s9";
|
sha256 = "1qr61i5fjd5p7bi05hplagmcxgb05k4xdh5yjjvaq8cij5l4b1wm";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ jre ] ;
|
propagatedBuildInputs = [ jre ] ;
|
||||||
|
45
pkgs/development/coq-modules/category-theory/default.nix
Normal file
45
pkgs/development/coq-modules/category-theory/default.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{ stdenv, fetchgit, coq, ssreflect }:
|
||||||
|
|
||||||
|
let param =
|
||||||
|
{
|
||||||
|
"8.6" = {
|
||||||
|
version = "20171214";
|
||||||
|
rev = "babf9c013506da1dbd67171e4a3ae87fdb7e9d00";
|
||||||
|
sha256 = "16fsf4cggx9s9fkijnpi4g614nmdb2yx7inzqqn070f8p959qcrd";
|
||||||
|
};
|
||||||
|
|
||||||
|
"8.7" = {
|
||||||
|
version = "20171214";
|
||||||
|
rev = "babf9c013506da1dbd67171e4a3ae87fdb7e9d00";
|
||||||
|
sha256 = "16fsf4cggx9s9fkijnpi4g614nmdb2yx7inzqqn070f8p959qcrd";
|
||||||
|
};
|
||||||
|
|
||||||
|
}."${coq.coq-version}"
|
||||||
|
; in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
name = "coq${coq.coq-version}-category-theory-${param.version}";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = git://github.com/jwiegley/category-theory.git;
|
||||||
|
inherit (param) rev sha256;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
|
||||||
|
propagatedBuildInputs = [ coq ssreflect ];
|
||||||
|
|
||||||
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = git://github.com/jwiegley/category-theory.git;
|
||||||
|
description = "A formalization of category theory in Coq for personal study and practical work";
|
||||||
|
maintainers = with maintainers; [ jwiegley ];
|
||||||
|
platforms = coq.meta.platforms;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
51
pkgs/development/coq-modules/coq-haskell/default.nix
Normal file
51
pkgs/development/coq-modules/coq-haskell/default.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ stdenv, fetchgit, coq, ssreflect }:
|
||||||
|
|
||||||
|
let param =
|
||||||
|
{
|
||||||
|
"8.5" = {
|
||||||
|
version = "20171215";
|
||||||
|
rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
|
||||||
|
sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
|
||||||
|
};
|
||||||
|
|
||||||
|
"8.6" = {
|
||||||
|
version = "20171215";
|
||||||
|
rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
|
||||||
|
sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
|
||||||
|
};
|
||||||
|
|
||||||
|
"8.7" = {
|
||||||
|
version = "20171215";
|
||||||
|
rev = "e2cf8b270c2efa3b56fab1ef6acc376c2c3de968";
|
||||||
|
sha256 = "09dq1vvshhlhgjccrhqgbhnq2hrys15xryfszqq11rzpgvl2zgdv";
|
||||||
|
};
|
||||||
|
|
||||||
|
}."${coq.coq-version}"
|
||||||
|
; in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
name = "coq${coq.coq-version}-coq-haskell-${param.version}";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = git://github.com/jwiegley/coq-haskell.git;
|
||||||
|
inherit (param) rev sha256;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
|
||||||
|
propagatedBuildInputs = [ coq ssreflect ];
|
||||||
|
|
||||||
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = git://github.com/jwiegley/coq-haskell.git;
|
||||||
|
description = "A library for formalizing Haskell types and functions in Coq";
|
||||||
|
maintainers = with maintainers; [ jwiegley ];
|
||||||
|
platforms = coq.meta.platforms;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -95,7 +95,7 @@ self: super: {
|
|||||||
name = "git-annex-${drv.version}-src";
|
name = "git-annex-${drv.version}-src";
|
||||||
url = "git://git-annex.branchable.com/";
|
url = "git://git-annex.branchable.com/";
|
||||||
rev = "refs/tags/" + drv.version;
|
rev = "refs/tags/" + drv.version;
|
||||||
sha256 = "1bnnrwamw3d37fz7cwykxhi1ryy22dq8r6ld59gsbgcv23drqzax";
|
sha256 = "1fd7lyrwr60dp55swc5iwl0mkkzmdzpmj9qmx1qca2r7y9wc5w5k";
|
||||||
};
|
};
|
||||||
})).override {
|
})).override {
|
||||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||||
@ -513,14 +513,14 @@ self: super: {
|
|||||||
hslua_0_9_3 = super.hslua_0_9_3.override { lua5_1 = pkgs.lua5_3; };
|
hslua_0_9_3 = super.hslua_0_9_3.override { lua5_1 = pkgs.lua5_3; };
|
||||||
hslua-module-text = super.hslua-module-text.override { hslua = self.hslua_0_9_3; };
|
hslua-module-text = super.hslua-module-text.override { hslua = self.hslua_0_9_3; };
|
||||||
texmath_0_10 = super.texmath_0_10.override { pandoc-types = self.pandoc-types_1_17_3; };
|
texmath_0_10 = super.texmath_0_10.override { pandoc-types = self.pandoc-types_1_17_3; };
|
||||||
pandoc_2_0_4 = super.pandoc_2_0_4.override {
|
pandoc_2_0_5 = super.pandoc_2_0_5.override {
|
||||||
doctemplates = self.doctemplates_0_2_1;
|
doctemplates = self.doctemplates_0_2_1;
|
||||||
pandoc-types = self.pandoc-types_1_17_3;
|
pandoc-types = self.pandoc-types_1_17_3;
|
||||||
skylighting = self.skylighting_0_4_4_1;
|
skylighting = self.skylighting_0_4_4_1;
|
||||||
texmath = self.texmath_0_10;
|
texmath = self.texmath_0_10;
|
||||||
};
|
};
|
||||||
pandoc-citeproc_0_12_1 = super.pandoc-citeproc_0_12_1.override {
|
pandoc-citeproc_0_12_1 = super.pandoc-citeproc_0_12_1.override {
|
||||||
pandoc = self.pandoc_2_0_4;
|
pandoc = self.pandoc_2_0_5;
|
||||||
pandoc-types = self.pandoc-types_1_17_3;
|
pandoc-types = self.pandoc-types_1_17_3;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -642,7 +642,8 @@ self: super: {
|
|||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
# Fine-tune the build.
|
# Build the latest git version instead of the official release. This isn't
|
||||||
|
# ideal, but Chris doesn't seem to make official releases any more.
|
||||||
structured-haskell-mode = (overrideCabal super.structured-haskell-mode (drv: {
|
structured-haskell-mode = (overrideCabal super.structured-haskell-mode (drv: {
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "chrisdone";
|
owner = "chrisdone";
|
||||||
@ -1003,7 +1004,7 @@ self: super: {
|
|||||||
# Newer hpack's needs newer HUnit, but we cannot easily override the version
|
# Newer hpack's needs newer HUnit, but we cannot easily override the version
|
||||||
# used in the build, so we take the easy way out and disable the test suite.
|
# used in the build, so we take the easy way out and disable the test suite.
|
||||||
hpack_0_20_0 = dontCheck super.hpack_0_20_0;
|
hpack_0_20_0 = dontCheck super.hpack_0_20_0;
|
||||||
hpack_0_21_0 = dontCheck super.hpack_0_21_0;
|
hpack_0_21_2 = dontCheck super.hpack_0_21_2;
|
||||||
|
|
||||||
# Stack 1.6.1 needs newer versions than LTS-9 provides.
|
# Stack 1.6.1 needs newer versions than LTS-9 provides.
|
||||||
stack = super.stack.overrideScope (self: super: {
|
stack = super.stack.overrideScope (self: super: {
|
||||||
@ -1016,4 +1017,7 @@ self: super: {
|
|||||||
unliftio = self.unliftio_0_2_0_0;
|
unliftio = self.unliftio_0_2_0_0;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
# Hoogle needs a newer version than lts-9 provides.
|
||||||
|
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; };
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ core-packages:
|
|||||||
- ghcjs-base-0
|
- ghcjs-base-0
|
||||||
|
|
||||||
default-package-overrides:
|
default-package-overrides:
|
||||||
# LTS Haskell 9.17
|
# LTS Haskell 9.18
|
||||||
- abstract-deque ==0.3
|
- abstract-deque ==0.3
|
||||||
- abstract-deque-tests ==0.3
|
- abstract-deque-tests ==0.3
|
||||||
- abstract-par ==0.3.3
|
- abstract-par ==0.3.3
|
||||||
@ -170,6 +170,7 @@ default-package-overrides:
|
|||||||
- ansigraph ==0.3.0.4
|
- ansigraph ==0.3.0.4
|
||||||
- ansi-terminal ==0.6.3.1
|
- ansi-terminal ==0.6.3.1
|
||||||
- ansi-wl-pprint ==0.6.7.3
|
- ansi-wl-pprint ==0.6.7.3
|
||||||
|
- apecs ==0.2.4.7
|
||||||
- api-field-json-th ==0.1.0.2
|
- api-field-json-th ==0.1.0.2
|
||||||
- appar ==0.1.4
|
- appar ==0.1.4
|
||||||
- apportionment ==0.0.0.2
|
- apportionment ==0.0.0.2
|
||||||
@ -232,7 +233,7 @@ default-package-overrides:
|
|||||||
- base-unicode-symbols ==0.2.2.4
|
- base-unicode-symbols ==0.2.2.4
|
||||||
- basic-prelude ==0.6.1.1
|
- basic-prelude ==0.6.1.1
|
||||||
- bcrypt ==0.0.10
|
- bcrypt ==0.0.10
|
||||||
- bench ==1.0.6
|
- bench ==1.0.7
|
||||||
- benchpress ==0.2.2.10
|
- benchpress ==0.2.2.10
|
||||||
- bencode ==0.6.0.0
|
- bencode ==0.6.0.0
|
||||||
- bento ==0.1.0
|
- bento ==0.1.0
|
||||||
@ -251,7 +252,7 @@ default-package-overrides:
|
|||||||
- binary-search ==1.0.0.3
|
- binary-search ==1.0.0.3
|
||||||
- binary-tagged ==0.1.4.2
|
- binary-tagged ==0.1.4.2
|
||||||
- binary-typed ==1.0
|
- binary-typed ==1.0
|
||||||
- bindings-DSL ==1.0.23
|
- bindings-DSL ==1.0.24
|
||||||
- bindings-GLFW ==3.1.2.3
|
- bindings-GLFW ==3.1.2.3
|
||||||
- bindings-libzip ==1.0.1
|
- bindings-libzip ==1.0.1
|
||||||
- bioace ==0.0.1
|
- bioace ==0.0.1
|
||||||
@ -327,7 +328,7 @@ default-package-overrides:
|
|||||||
- c2hs ==0.28.2
|
- c2hs ==0.28.2
|
||||||
- Cabal ==1.24.2.0
|
- Cabal ==1.24.2.0
|
||||||
- cabal-dependency-licenses ==0.2.0.0
|
- cabal-dependency-licenses ==0.2.0.0
|
||||||
- cabal-doctest ==1.0.3
|
- cabal-doctest ==1.0.4
|
||||||
- cabal-file-th ==0.2.4
|
- cabal-file-th ==0.2.4
|
||||||
- cabal-helper ==0.7.3.0
|
- cabal-helper ==0.7.3.0
|
||||||
- cabal-rpm ==0.11.2
|
- cabal-rpm ==0.11.2
|
||||||
@ -404,7 +405,7 @@ default-package-overrides:
|
|||||||
- code-page ==0.1.3
|
- code-page ==0.1.3
|
||||||
- codo-notation ==0.5.2
|
- codo-notation ==0.5.2
|
||||||
- colorful-monoids ==0.2.1.0
|
- colorful-monoids ==0.2.1.0
|
||||||
- colour ==2.3.3
|
- colour ==2.3.4
|
||||||
- comfort-graph ==0.0.2.1
|
- comfort-graph ==0.0.2.1
|
||||||
- commutative ==0.0.1.4
|
- commutative ==0.0.1.4
|
||||||
- comonad ==5.0.2
|
- comonad ==5.0.2
|
||||||
@ -422,7 +423,7 @@ default-package-overrides:
|
|||||||
- concurrent-split ==0.0.1
|
- concurrent-split ==0.0.1
|
||||||
- concurrent-supply ==0.1.8
|
- concurrent-supply ==0.1.8
|
||||||
- conduit ==1.2.12.1
|
- conduit ==1.2.12.1
|
||||||
- conduit-combinators ==1.1.1
|
- conduit-combinators ==1.1.2
|
||||||
- conduit-connection ==0.1.0.3
|
- conduit-connection ==0.1.0.3
|
||||||
- conduit-extra ==1.1.17
|
- conduit-extra ==1.1.17
|
||||||
- conduit-iconv ==0.1.1.2
|
- conduit-iconv ==0.1.1.2
|
||||||
@ -516,7 +517,7 @@ default-package-overrides:
|
|||||||
- data-ordlist ==0.4.7.0
|
- data-ordlist ==0.4.7.0
|
||||||
- data-ref ==0.0.1.1
|
- data-ref ==0.0.1.1
|
||||||
- data-reify ==0.6.1
|
- data-reify ==0.6.1
|
||||||
- data-serializer ==0.3
|
- data-serializer ==0.3.2
|
||||||
- data-textual ==0.3.0.2
|
- data-textual ==0.3.0.2
|
||||||
- dataurl ==0.1.0.0
|
- dataurl ==0.1.0.0
|
||||||
- DAV ==1.3.1
|
- DAV ==1.3.1
|
||||||
@ -781,9 +782,9 @@ default-package-overrides:
|
|||||||
- gi-gdk ==3.0.14
|
- gi-gdk ==3.0.14
|
||||||
- gi-gdkpixbuf ==2.0.14
|
- gi-gdkpixbuf ==2.0.14
|
||||||
- gi-gio ==2.0.14
|
- gi-gio ==2.0.14
|
||||||
- gi-glib ==2.0.14
|
- gi-glib ==2.0.15
|
||||||
- gi-gobject ==2.0.15
|
- gi-gobject ==2.0.15
|
||||||
- gi-gtk ==3.0.17
|
- gi-gtk ==3.0.18
|
||||||
- gi-javascriptcore ==3.0.14
|
- gi-javascriptcore ==3.0.14
|
||||||
- ginger ==0.5.3.0
|
- ginger ==0.5.3.0
|
||||||
- gio ==0.13.4.0
|
- gio ==0.13.4.0
|
||||||
@ -933,7 +934,7 @@ default-package-overrides:
|
|||||||
- groundhog-mysql ==0.8
|
- groundhog-mysql ==0.8
|
||||||
- groundhog-postgresql ==0.8.0.1
|
- groundhog-postgresql ==0.8.0.1
|
||||||
- groundhog-sqlite ==0.8
|
- groundhog-sqlite ==0.8
|
||||||
- groundhog-th ==0.8.0.1
|
- groundhog-th ==0.8.0.2
|
||||||
- group-by-date ==0.1.0.2
|
- group-by-date ==0.1.0.2
|
||||||
- grouped-list ==0.2.1.3
|
- grouped-list ==0.2.1.3
|
||||||
- groupoids ==4.0
|
- groupoids ==4.0
|
||||||
@ -941,6 +942,7 @@ default-package-overrides:
|
|||||||
- gtk ==0.14.7
|
- gtk ==0.14.7
|
||||||
- gtk2hs-buildtools ==0.13.3.1
|
- gtk2hs-buildtools ==0.13.3.1
|
||||||
- gtk3 ==0.14.8
|
- gtk3 ==0.14.8
|
||||||
|
- gym-http-api ==0.1.0.0
|
||||||
- H ==0.9.0.1
|
- H ==0.9.0.1
|
||||||
- h2c ==1.0.0
|
- h2c ==1.0.0
|
||||||
- hackage-db ==1.22
|
- hackage-db ==1.22
|
||||||
@ -959,7 +961,7 @@ default-package-overrides:
|
|||||||
- hamlet ==1.2.0
|
- hamlet ==1.2.0
|
||||||
- HandsomeSoup ==0.4.2
|
- HandsomeSoup ==0.4.2
|
||||||
- handwriting ==0.1.0.3
|
- handwriting ==0.1.0.3
|
||||||
- hapistrano ==0.3.4.0
|
- hapistrano ==0.3.5.0
|
||||||
- happstack-hsp ==7.3.7.3
|
- happstack-hsp ==7.3.7.3
|
||||||
- happstack-jmacro ==7.0.12
|
- happstack-jmacro ==7.0.12
|
||||||
- happstack-server ==7.4.6.4
|
- happstack-server ==7.4.6.4
|
||||||
@ -971,9 +973,9 @@ default-package-overrides:
|
|||||||
- hashable-time ==0.2.0.1
|
- hashable-time ==0.2.0.1
|
||||||
- hashmap ==1.3.2
|
- hashmap ==1.3.2
|
||||||
- hashtables ==1.2.2.1
|
- hashtables ==1.2.2.1
|
||||||
- haskeline ==0.7.4.0
|
- haskeline ==0.7.4.1
|
||||||
- haskell-gi ==0.20.3
|
- haskell-gi ==0.20.3
|
||||||
- haskell-gi-base ==0.20.5
|
- haskell-gi-base ==0.20.7
|
||||||
- haskell-gi-overloading ==1.0
|
- haskell-gi-overloading ==1.0
|
||||||
- haskell-import-graph ==1.0.3
|
- haskell-import-graph ==1.0.3
|
||||||
- haskell-lexer ==1.0.1
|
- haskell-lexer ==1.0.1
|
||||||
@ -1025,7 +1027,7 @@ default-package-overrides:
|
|||||||
- heaps ==0.3.5
|
- heaps ==0.3.5
|
||||||
- heatshrink ==0.1.0.0
|
- heatshrink ==0.1.0.0
|
||||||
- hebrew-time ==0.1.1
|
- hebrew-time ==0.1.1
|
||||||
- hedgehog ==0.5
|
- hedgehog ==0.5.1
|
||||||
- hedgehog-quickcheck ==0.1
|
- hedgehog-quickcheck ==0.1
|
||||||
- hedis ==0.9.12
|
- hedis ==0.9.12
|
||||||
- here ==1.2.11
|
- here ==1.2.11
|
||||||
@ -1074,8 +1076,8 @@ default-package-overrides:
|
|||||||
- hp2pretty ==0.8.0.2
|
- hp2pretty ==0.8.0.2
|
||||||
- hpack ==0.18.1
|
- hpack ==0.18.1
|
||||||
- hpc-coveralls ==1.0.10
|
- hpc-coveralls ==1.0.10
|
||||||
- hPDB ==1.2.0.9
|
- hPDB ==1.2.0.10
|
||||||
- hPDB-examples ==1.2.0.7
|
- hPDB-examples ==1.2.0.8
|
||||||
- HPDF ==1.4.10
|
- HPDF ==1.4.10
|
||||||
- hpio ==0.8.0.10
|
- hpio ==0.8.0.10
|
||||||
- hpp ==0.4.1
|
- hpp ==0.4.1
|
||||||
@ -1094,8 +1096,8 @@ default-package-overrides:
|
|||||||
- hsebaysdk ==0.4.0.0
|
- hsebaysdk ==0.4.0.0
|
||||||
- hse-cpp ==0.2
|
- hse-cpp ==0.2
|
||||||
- hsemail ==2
|
- hsemail ==2
|
||||||
- HSet ==0.0.1
|
|
||||||
- hset ==2.2.0
|
- hset ==2.2.0
|
||||||
|
- HSet ==0.0.1
|
||||||
- hsexif ==0.6.1.5
|
- hsexif ==0.6.1.5
|
||||||
- hs-GeoIP ==0.3
|
- hs-GeoIP ==0.3
|
||||||
- hsignal ==0.2.7.5
|
- hsignal ==0.2.7.5
|
||||||
@ -1126,7 +1128,7 @@ default-package-overrides:
|
|||||||
- hspec-wai ==0.8.0
|
- hspec-wai ==0.8.0
|
||||||
- hspec-wai-json ==0.8.0
|
- hspec-wai-json ==0.8.0
|
||||||
- hspec-webdriver ==1.2.0
|
- hspec-webdriver ==1.2.0
|
||||||
- hsshellscript ==3.4.2
|
- hsshellscript ==3.4.5
|
||||||
- hstatistics ==0.3
|
- hstatistics ==0.3
|
||||||
- hstatsd ==0.1
|
- hstatsd ==0.1
|
||||||
- HStringTemplate ==0.8.6
|
- HStringTemplate ==0.8.6
|
||||||
@ -1147,13 +1149,13 @@ default-package-overrides:
|
|||||||
- http-client-openssl ==0.2.1.1
|
- http-client-openssl ==0.2.1.1
|
||||||
- http-client-tls ==0.3.5.1
|
- http-client-tls ==0.3.5.1
|
||||||
- http-common ==0.8.2.0
|
- http-common ==0.8.2.0
|
||||||
- http-conduit ==2.2.3.2
|
- http-conduit ==2.2.4
|
||||||
- http-date ==0.0.6.1
|
- http-date ==0.0.6.1
|
||||||
- httpd-shed ==0.4.0.3
|
- httpd-shed ==0.4.0.3
|
||||||
- http-link-header ==1.0.3
|
- http-link-header ==1.0.3
|
||||||
- http-media ==0.6.4
|
- http-media ==0.6.4
|
||||||
- http-reverse-proxy ==0.4.5
|
- http-reverse-proxy ==0.4.5
|
||||||
- http-streams ==0.8.5.3
|
- http-streams ==0.8.5.5
|
||||||
- http-types ==0.9.1
|
- http-types ==0.9.1
|
||||||
- human-readable-duration ==0.2.0.3
|
- human-readable-duration ==0.2.0.3
|
||||||
- HUnit ==1.5.0.0
|
- HUnit ==1.5.0.0
|
||||||
@ -1258,7 +1260,7 @@ default-package-overrides:
|
|||||||
- jmacro-rpc-snap ==0.3
|
- jmacro-rpc-snap ==0.3
|
||||||
- jni ==0.3.1
|
- jni ==0.3.1
|
||||||
- jose ==0.6.0.3
|
- jose ==0.6.0.3
|
||||||
- jose-jwt ==0.7.7
|
- jose-jwt ==0.7.8
|
||||||
- js-flot ==0.8.3
|
- js-flot ==0.8.3
|
||||||
- js-jquery ==3.2.1
|
- js-jquery ==3.2.1
|
||||||
- json ==0.9.1
|
- json ==0.9.1
|
||||||
@ -1334,7 +1336,7 @@ default-package-overrides:
|
|||||||
- licensor ==0.2.1
|
- licensor ==0.2.1
|
||||||
- lifted-async ==0.9.3
|
- lifted-async ==0.9.3
|
||||||
- lifted-base ==0.2.3.11
|
- lifted-base ==0.2.3.11
|
||||||
- lift-generics ==0.1.1
|
- lift-generics ==0.1.2
|
||||||
- line ==3.1.0
|
- line ==3.1.0
|
||||||
- linear ==1.20.7
|
- linear ==1.20.7
|
||||||
- linear-accelerate ==0.4.1
|
- linear-accelerate ==0.4.1
|
||||||
@ -1400,8 +1402,8 @@ default-package-overrides:
|
|||||||
- median-stream ==0.7.0.0
|
- median-stream ==0.7.0.0
|
||||||
- med-module ==0.1.1
|
- med-module ==0.1.1
|
||||||
- megaparsec ==5.3.1
|
- megaparsec ==5.3.1
|
||||||
- mega-sdist ==0.3.0.4
|
- mega-sdist ==0.3.0.5
|
||||||
- memory ==0.14.9
|
- memory ==0.14.10
|
||||||
- MemoTrie ==0.6.8
|
- MemoTrie ==0.6.8
|
||||||
- mersenne-random-pure64 ==0.2.2.0
|
- mersenne-random-pure64 ==0.2.2.0
|
||||||
- messagepack ==0.5.4
|
- messagepack ==0.5.4
|
||||||
@ -1470,9 +1472,9 @@ default-package-overrides:
|
|||||||
- monoid-extras ==0.4.2
|
- monoid-extras ==0.4.2
|
||||||
- monoid-subclasses ==0.4.4
|
- monoid-subclasses ==0.4.4
|
||||||
- monoid-transformer ==0.0.3
|
- monoid-transformer ==0.0.3
|
||||||
- mono-traversable ==1.0.4.0
|
- mono-traversable ==1.0.5.0
|
||||||
- mono-traversable-instances ==0.1.0.0
|
- mono-traversable-instances ==0.1.0.0
|
||||||
- morte ==1.6.11
|
- morte ==1.6.12
|
||||||
- mountpoints ==1.0.2
|
- mountpoints ==1.0.2
|
||||||
- mstate ==0.2.7
|
- mstate ==0.2.7
|
||||||
- mtl ==2.2.1
|
- mtl ==2.2.1
|
||||||
@ -1515,7 +1517,7 @@ default-package-overrides:
|
|||||||
- network-carbon ==1.0.10
|
- network-carbon ==1.0.10
|
||||||
- network-conduit-tls ==1.2.2
|
- network-conduit-tls ==1.2.2
|
||||||
- network-house ==0.1.0.2
|
- network-house ==0.1.0.2
|
||||||
- network-info ==0.2.0.8
|
- network-info ==0.2.0.9
|
||||||
- network-ip ==0.3.0.2
|
- network-ip ==0.3.0.2
|
||||||
- network-msgpack-rpc ==0.0.3
|
- network-msgpack-rpc ==0.0.3
|
||||||
- network-multicast ==0.2.0
|
- network-multicast ==0.2.0
|
||||||
@ -1533,8 +1535,8 @@ default-package-overrides:
|
|||||||
- nfc ==0.1.0
|
- nfc ==0.1.0
|
||||||
- nicify-lib ==1.0.1
|
- nicify-lib ==1.0.1
|
||||||
- NineP ==0.0.2.1
|
- NineP ==0.0.2.1
|
||||||
- nix-paths ==1.0.0.1
|
- nix-paths ==1.0.1
|
||||||
- nonce ==1.0.4
|
- nonce ==1.0.5
|
||||||
- nondeterminism ==1.4
|
- nondeterminism ==1.4
|
||||||
- non-empty ==0.3
|
- non-empty ==0.3
|
||||||
- non-empty-sequence ==0.2.0.2
|
- non-empty-sequence ==0.2.0.2
|
||||||
@ -1556,7 +1558,7 @@ default-package-overrides:
|
|||||||
- objective ==1.1.1
|
- objective ==1.1.1
|
||||||
- ObjectName ==1.1.0.1
|
- ObjectName ==1.1.0.1
|
||||||
- octane ==0.20.2
|
- octane ==0.20.2
|
||||||
- Octree ==0.5.4.3
|
- Octree ==0.5.4.4
|
||||||
- oeis ==0.3.9
|
- oeis ==0.3.9
|
||||||
- ofx ==0.4.2.0
|
- ofx ==0.4.2.0
|
||||||
- old-locale ==1.0.0.7
|
- old-locale ==1.0.0.7
|
||||||
@ -1691,7 +1693,7 @@ default-package-overrides:
|
|||||||
- posix-realtime ==0.0.0.4
|
- posix-realtime ==0.0.0.4
|
||||||
- postgresql-binary ==0.12.1
|
- postgresql-binary ==0.12.1
|
||||||
- postgresql-libpq ==0.9.3.1
|
- postgresql-libpq ==0.9.3.1
|
||||||
- postgresql-schema ==0.1.13
|
- postgresql-schema ==0.1.14
|
||||||
- postgresql-simple ==0.5.3.0
|
- postgresql-simple ==0.5.3.0
|
||||||
- postgresql-simple-migration ==0.1.11.0
|
- postgresql-simple-migration ==0.1.11.0
|
||||||
- postgresql-simple-opts ==0.2.0.2
|
- postgresql-simple-opts ==0.2.0.2
|
||||||
@ -1718,7 +1720,7 @@ default-package-overrides:
|
|||||||
- prettyprinter-compat-annotated-wl-pprint ==1
|
- prettyprinter-compat-annotated-wl-pprint ==1
|
||||||
- prettyprinter-compat-ansi-wl-pprint ==1.0.1
|
- prettyprinter-compat-ansi-wl-pprint ==1.0.1
|
||||||
- prettyprinter-compat-wl-pprint ==1.0.0.1
|
- prettyprinter-compat-wl-pprint ==1.0.0.1
|
||||||
- pretty-show ==1.6.13
|
- pretty-show ==1.6.14
|
||||||
- pretty-simple ==2.0.1.0
|
- pretty-simple ==2.0.1.0
|
||||||
- pretty-types ==0.2.3.1
|
- pretty-types ==0.2.3.1
|
||||||
- primes ==0.2.1.0
|
- primes ==0.2.1.0
|
||||||
@ -1855,7 +1857,7 @@ default-package-overrides:
|
|||||||
- result ==0.2.6.0
|
- result ==0.2.6.0
|
||||||
- rethinkdb ==2.2.0.10
|
- rethinkdb ==2.2.0.10
|
||||||
- rethinkdb-client-driver ==0.0.25
|
- rethinkdb-client-driver ==0.0.25
|
||||||
- retry ==0.7.4.3
|
- retry ==0.7.5.0
|
||||||
- rev-state ==0.1.2
|
- rev-state ==0.1.2
|
||||||
- rfc5051 ==0.1.0.3
|
- rfc5051 ==0.1.0.3
|
||||||
- rng-utils ==0.2.1
|
- rng-utils ==0.2.1
|
||||||
@ -1887,7 +1889,7 @@ default-package-overrides:
|
|||||||
- scotty ==0.11.0
|
- scotty ==0.11.0
|
||||||
- scrape-changes ==0.1.0.5
|
- scrape-changes ==0.1.0.5
|
||||||
- scrypt ==0.5.0
|
- scrypt ==0.5.0
|
||||||
- SDL ==0.6.5.1
|
- SDL ==0.6.6.0
|
||||||
- sdl2 ==2.2.0
|
- sdl2 ==2.2.0
|
||||||
- sdl2-gfx ==0.2
|
- sdl2-gfx ==0.2
|
||||||
- sdl2-image ==2.0.0
|
- sdl2-image ==2.0.0
|
||||||
@ -2114,7 +2116,7 @@ default-package-overrides:
|
|||||||
- tasty-kat ==0.0.3
|
- tasty-kat ==0.0.3
|
||||||
- tasty-program ==1.0.5
|
- tasty-program ==1.0.5
|
||||||
- tasty-quickcheck ==0.8.4
|
- tasty-quickcheck ==0.8.4
|
||||||
- tasty-rerun ==1.1.7
|
- tasty-rerun ==1.1.8
|
||||||
- tasty-silver ==3.1.10
|
- tasty-silver ==3.1.10
|
||||||
- tasty-smallcheck ==0.8.1
|
- tasty-smallcheck ==0.8.1
|
||||||
- tasty-stats ==0.2.0.3
|
- tasty-stats ==0.2.0.3
|
||||||
@ -2191,7 +2193,7 @@ default-package-overrides:
|
|||||||
- thumbnail-plus ==1.0.5
|
- thumbnail-plus ==1.0.5
|
||||||
- th-utilities ==0.2.0.1
|
- th-utilities ==0.2.0.1
|
||||||
- thyme ==0.3.5.5
|
- thyme ==0.3.5.5
|
||||||
- tidal ==0.9.4
|
- tidal ==0.9.5
|
||||||
- time-compat ==0.1.0.3
|
- time-compat ==0.1.0.3
|
||||||
- timeit ==1.0.0.0
|
- timeit ==1.0.0.0
|
||||||
- timelens ==0.2.0.2
|
- timelens ==0.2.0.2
|
||||||
@ -2209,7 +2211,7 @@ default-package-overrides:
|
|||||||
- tldr ==0.2.3
|
- tldr ==0.2.3
|
||||||
- tls ==1.3.11
|
- tls ==1.3.11
|
||||||
- tls-debug ==0.4.4
|
- tls-debug ==0.4.4
|
||||||
- tls-session-manager ==0.0.0.1
|
- tls-session-manager ==0.0.0.2
|
||||||
- tmp-postgres ==0.1.1.1
|
- tmp-postgres ==0.1.1.1
|
||||||
- token-bucket ==0.1.0.1
|
- token-bucket ==0.1.0.1
|
||||||
- torrent ==10000.1.1
|
- torrent ==10000.1.1
|
||||||
@ -2339,7 +2341,7 @@ default-package-overrides:
|
|||||||
- wai-app-static ==3.1.6.1
|
- wai-app-static ==3.1.6.1
|
||||||
- wai-cli ==0.1.1
|
- wai-cli ==0.1.1
|
||||||
- wai-conduit ==3.0.0.3
|
- wai-conduit ==3.0.0.3
|
||||||
- wai-cors ==0.2.5
|
- wai-cors ==0.2.6
|
||||||
- wai-eventsource ==3.0.0
|
- wai-eventsource ==3.0.0
|
||||||
- wai-extra ==3.0.20.2
|
- wai-extra ==3.0.20.2
|
||||||
- wai-handler-launch ==3.0.2.3
|
- wai-handler-launch ==3.0.2.3
|
||||||
@ -2361,7 +2363,7 @@ default-package-overrides:
|
|||||||
- wai-routes ==0.10.0
|
- wai-routes ==0.10.0
|
||||||
- wai-routing ==0.13.0
|
- wai-routing ==0.13.0
|
||||||
- wai-session ==0.3.2
|
- wai-session ==0.3.2
|
||||||
- wai-session-postgresql ==0.2.1.1
|
- wai-session-postgresql ==0.2.1.2
|
||||||
- wai-slack-middleware ==0.2.0
|
- wai-slack-middleware ==0.2.0
|
||||||
- waitra ==0.0.4.0
|
- waitra ==0.0.4.0
|
||||||
- wai-transformers ==0.0.7
|
- wai-transformers ==0.0.7
|
||||||
@ -2387,7 +2389,7 @@ default-package-overrides:
|
|||||||
- websockets-rpc ==0.4.0
|
- websockets-rpc ==0.4.0
|
||||||
- websockets-simple ==0.0.2
|
- websockets-simple ==0.0.2
|
||||||
- websockets-snap ==0.10.2.4
|
- websockets-snap ==0.10.2.4
|
||||||
- weeder ==0.1.7
|
- weeder ==0.1.9
|
||||||
- weigh ==0.0.7
|
- weigh ==0.0.7
|
||||||
- wikicfp-scraper ==0.1.0.9
|
- wikicfp-scraper ==0.1.0.9
|
||||||
- wild-bind ==0.1.0.3
|
- wild-bind ==0.1.0.3
|
||||||
@ -2461,7 +2463,7 @@ default-package-overrides:
|
|||||||
- Yampa ==0.10.6.2
|
- Yampa ==0.10.6.2
|
||||||
- YampaSynth ==0.2
|
- YampaSynth ==0.2
|
||||||
- yesod ==1.4.5
|
- yesod ==1.4.5
|
||||||
- yesod-auth ==1.4.20
|
- yesod-auth ==1.4.21
|
||||||
- yesod-auth-account ==1.4.3
|
- yesod-auth-account ==1.4.3
|
||||||
- yesod-auth-basic ==0.1.0.2
|
- yesod-auth-basic ==0.1.0.2
|
||||||
- yesod-auth-fb ==1.8.1
|
- yesod-auth-fb ==1.8.1
|
||||||
@ -8330,7 +8332,6 @@ dont-distribute-packages:
|
|||||||
type-level-bst: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
type-level-bst: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||||
type-level-natural-number-induction: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
type-level-natural-number-induction: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||||
type-level-natural-number-operations: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
type-level-natural-number-operations: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||||
type-of-html: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
|
||||||
type-ord-spine-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
type-ord-spine-cereal: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||||
type-ord: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
type-ord: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||||
type-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
type-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||||
|
@ -506,5 +506,6 @@ self: super: builtins.intersectAttrs super {
|
|||||||
|
|
||||||
# Break cyclic reference that results in an infinite recursion.
|
# Break cyclic reference that results in an infinite recursion.
|
||||||
partial-semigroup = dontCheck super.partial-semigroup;
|
partial-semigroup = dontCheck super.partial-semigroup;
|
||||||
|
colour = dontCheck super.colour;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,23 +1,25 @@
|
|||||||
{ stdenv, fetchurl, unzip, ant, jdk, makeWrapper }:
|
{ stdenv, fetchurl, jdk, makeWrapper }:
|
||||||
|
|
||||||
let version = "1.8.0"; in
|
let version = "1.9.0.273"; in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "clojure-${version}";
|
name = "clojure-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://repo1.maven.org/maven2/org/clojure/clojure/${version}/clojure-${version}.zip";
|
url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
|
||||||
sha256 = "1nip095fz5c492sw15skril60i1vd21ibg6szin4jcvyy3xr6cym";
|
sha256 = "0xmrq3xvr002jgq8m1j0y5ld0rcr49608g3gqxgyxzjqswacglb4";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ unzip ant jdk makeWrapper ];
|
buildInputs = [ jdk makeWrapper ];
|
||||||
|
|
||||||
buildPhase = "ant jar";
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/share/java $out/bin
|
pwd
|
||||||
install -t $out/share/java clojure.jar
|
ls -la
|
||||||
makeWrapper ${jdk.jre}/bin/java $out/bin/clojure --add-flags "-cp $out/share/java/clojure.jar clojure.main"
|
mkdir -p $out/libexec $out/bin
|
||||||
|
cp -f deps.edn example-deps.edn $out
|
||||||
|
cp -f clojure-tools-${version}.jar $out/libexec
|
||||||
|
sed -i -e "s@PREFIX@$out@g" clojure
|
||||||
|
cp -f clj clojure $out/bin
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "lv2-unstable-${version}";
|
name = "lv2-unstable-${version}";
|
||||||
version = "2016-10-23";
|
version = "2017-07-08";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "http://lv2plug.in/git/cgit.cgi/lv2.git";
|
url = "http://lv2plug.in/git/cgit.cgi/lv2.git";
|
||||||
rev = "b36868f3b96a436961c0c51b5b2dd71d05da9b12";
|
rev = "39c7c726cd52b2863fcea356cafe1bcab2ba7f37";
|
||||||
sha256 = "1sx39j0gary2nayzv7xgqcra7z1rcw9hrafkji05aksdwf7q0pdm";
|
sha256 = "1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "raul-unstable-${rev}";
|
name = "raul-unstable-${rev}";
|
||||||
rev = "2016-09-20";
|
rev = "2017-07-23";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "http://git.drobilla.net/cgit.cgi/raul.git";
|
url = "http://git.drobilla.net/cgit.cgi/raul.git";
|
||||||
rev = "f8bf77d3c3b77830aedafb9ebb5cdadfea7ed07a";
|
rev = "4db870b2b20b0a608ec0283139056b836c5b1624";
|
||||||
sha256 = "1lby508fb0n8ks6iz959sh18fc37br39d6pbapwvbcw5nckdrxwj";
|
sha256 = "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -14,13 +14,13 @@ let
|
|||||||
else throw "Unsupported system!";
|
else throw "Unsupported system!";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "aws-sdk-cpp-${version}";
|
name = "aws-sdk-cpp-${version}";
|
||||||
version = "1.1.18";
|
version = "1.3.22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "awslabs";
|
owner = "awslabs";
|
||||||
repo = "aws-sdk-cpp";
|
repo = "aws-sdk-cpp";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1i85zpns3gj5by45ppg4rfk9csix8mjazpyj6dqic40b2wshnw8c";
|
sha256 = "0sdgy8kqhxnw7n0sw4m3p3ay7yic3rhad5ab8m5lbx61ad9bq3c2";
|
||||||
};
|
};
|
||||||
|
|
||||||
# FIXME: might be nice to put different APIs in different outputs
|
# FIXME: might be nice to put different APIs in different outputs
|
||||||
|
@ -4,21 +4,13 @@
|
|||||||
let inherit (stdenv) lib system; in
|
let inherit (stdenv) lib system; in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gpgme-1.9.0";
|
name = "gpgme-1.10.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnupg/gpgme/${name}.tar.bz2";
|
url = "mirror://gnupg/gpgme/${name}.tar.bz2";
|
||||||
sha256 = "1ssc0gs02r4fasabk7c6v6r865k2j02mpb5g1vkpbmzsigdzwa8v";
|
sha256 = "14q619lxbk64vz7lih5gjb928qm28jrnn1h3yhsrrff3jw8yv3qs";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=5d4f977dac542340c877fdd4b1304fa8f6e058e6";
|
|
||||||
sha256 = "0swpxzd3x3b6h2ry2py9j8l0xp3vdw8rixxhgfavzia5p869qyyx";
|
|
||||||
name = "qgpgme-format-security.patch";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs = [ "out" "dev" "info" ];
|
outputs = [ "out" "dev" "info" ];
|
||||||
outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool
|
outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool
|
||||||
|
|
||||||
|
@ -1,16 +1,24 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses, libX11
|
{ stdenv, fetchurl, pkgconfig, expat, ncurses, pciutils, numactl
|
||||||
, pciutils, numactl }:
|
, cairo, libX11
|
||||||
|
, x11Support ? (!stdenv.isCygwin)
|
||||||
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "hwloc-1.11.6";
|
name = "hwloc-1.11.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
|
url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
|
||||||
sha256 = "1yl7dm2qplwmnidd712zy12qfvxk28k8ccs694n42ybwdjwzg1bn";
|
sha256 = "0karxv4r1r8sa7ki5aamlxdvyvz0bvzq4gdhq0yi5nc4a0k11vzc";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--localstatedir=/var"
|
||||||
|
];
|
||||||
|
|
||||||
# XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
|
# XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
@ -18,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
# derivation and set optional dependencies to `null'.
|
# derivation and set optional dependencies to `null'.
|
||||||
buildInputs = stdenv.lib.filter (x: x != null)
|
buildInputs = stdenv.lib.filter (x: x != null)
|
||||||
([ expat ncurses ]
|
([ expat ncurses ]
|
||||||
++ (optionals (!stdenv.isCygwin) [ cairo libX11 ])
|
++ (optionals x11Support [ cairo libX11 ])
|
||||||
++ (optionals stdenv.isLinux [ numactl ]));
|
++ (optionals stdenv.isLinux [ numactl ]));
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs =
|
||||||
@ -37,7 +45,7 @@ stdenv.mkDerivation rec {
|
|||||||
test -d "$numalibdir"
|
test -d "$numalibdir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -i "$out/lib/libhwloc.la" \
|
sed -i "$lib/lib/libhwloc.la" \
|
||||||
-e "s|-lnuma|-L$numalibdir -lnuma|g"
|
-e "s|-lnuma|-L$numalibdir -lnuma|g"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -45,6 +53,8 @@ stdenv.mkDerivation rec {
|
|||||||
# fail on some build machines.
|
# fail on some build machines.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
outputs = [ "out" "lib" "dev" "doc" "man" ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Portable abstraction of hierarchical architectures for high-performance computing";
|
description = "Portable abstraction of hierarchical architectures for high-performance computing";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "liblscp-${version}";
|
name = "liblscp-${version}";
|
||||||
version = "0.5.8";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.linuxsampler.org/packages/${name}.tar.gz";
|
url = "https://download.linuxsampler.org/packages/${name}.tar.gz";
|
||||||
sha256 = "00cfafkw1n80sdjwm9zdsg5vx287wqpgpbajd3zmiz415wzr84dn";
|
sha256 = "1rl7ssdzj0z3658yvdijmb27n2lcwmplx4qxg5mwrm07pvs7i75k";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
|
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
|
||||||
|
29
pkgs/development/libraries/libva-utils/default.nix
Normal file
29
pkgs/development/libraries/libva-utils/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
|
||||||
|
, libdrm, libva
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "libva-utils-${version}";
|
||||||
|
inherit (libva) version;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "01org";
|
||||||
|
repo = "libva-utils";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "02n51cvp8bzzjk4fargwvgh7z71y8spg24hqgaawbp3p3ahh7xxi";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
|
|
||||||
|
buildInputs = [ libdrm libva ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "VAAPI tools: Video Acceleration API";
|
||||||
|
homepage = http://www.freedesktop.org/wiki/Software/vaapi;
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ garbas ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
@ -1,36 +1,43 @@
|
|||||||
{ stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
|
{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
|
||||||
|
, libXext, libdrm, libXfixes, wayland, libffi, libX11
|
||||||
, mesa_noglu
|
, mesa_noglu
|
||||||
, minimal ? true, libva
|
, minimal ? true, libva
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libva-${version}";
|
name = "libva-${lib.optionalString (!minimal) "full-"}${version}";
|
||||||
version = "1.7.3";
|
version = "2.0.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
|
owner = "01org";
|
||||||
sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
|
repo = "libva";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1x8rlmv5wfqjz3j87byrxb4d9vp5b4lrrin2fx254nwl3aqy15hy";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" ];
|
outputs = [ "dev" "out" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [ libdrm ]
|
buildInputs = [ libdrm ]
|
||||||
++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
|
++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
|
||||||
# TODO: share libs between minimal and !minimal - perhaps just symlink them
|
# TODO: share libs between minimal and !minimal - perhaps just symlink them
|
||||||
|
|
||||||
configureFlags =
|
enableParallelBuilding = true;
|
||||||
[ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++
|
|
||||||
lib.optionals (!minimal) [ "--enable-glx" ];
|
|
||||||
|
|
||||||
installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
|
configureFlags = [
|
||||||
|
"--with-drivers-path=${mesa_noglu.driverLink}/lib/dri"
|
||||||
|
] ++ lib.optionals (!minimal) [ "--enable-glx" ];
|
||||||
|
|
||||||
|
installFlags = [
|
||||||
|
"dummy_drv_video_ladir=$(out)/lib/dri"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
description = "VAAPI library: Video Acceleration API";
|
||||||
homepage = http://www.freedesktop.org/wiki/Software/vaapi;
|
homepage = http://www.freedesktop.org/wiki/Software/vaapi;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
description = "VAAPI library: Video Acceleration API";
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ garbas ];
|
maintainers = with maintainers; [ garbas ];
|
||||||
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,9 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
|
sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = "-DWITH_ASF=ON -DWITH_MP4=ON";
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://developer.kde.org/~wheeler/taglib.html;
|
homepage = http://developer.kde.org/~wheeler/taglib.html;
|
||||||
|
@ -8,16 +8,17 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0ssjcdjv4qf9liph5ry1kngam1y7zp8fzr9xv4wzzrma22kabldn";
|
sha256 = "0ssjcdjv4qf9liph5ry1kngam1y7zp8fzr9xv4wzzrma22kabldn";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [ "-DWITH_ASF=ON" "-DWITH_MP4=ON" ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
|
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://taglib.org/;
|
homepage = http://taglib.org/;
|
||||||
repositories.git = git://github.com/taglib/taglib.git;
|
repositories.git = git://github.com/taglib/taglib.git;
|
||||||
shortDescription = "A library for reading and editing audio file metadata.";
|
description = "A library for reading and editing audio file metadata.";
|
||||||
description = ''
|
longDescription = ''
|
||||||
TagLib is a library for reading and editing the meta-data of several
|
TagLib is a library for reading and editing the meta-data of several
|
||||||
popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
|
popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
|
||||||
files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,
|
files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
{ stdenv, fetchurl, gnum4, pkgconfig, python2
|
{ stdenv, fetchFromGitHub, autoreconfHook, gnum4, pkgconfig, python2
|
||||||
, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland, libXext
|
, intel-gpu-tools, libdrm, libva, libX11, mesa_noglu, wayland, libXext
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "intel-vaapi-driver-${version}";
|
name = "intel-vaapi-driver-${version}";
|
||||||
version = "1.8.2";
|
inherit (libva) version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2";
|
owner = "01org";
|
||||||
sha256 = "00mpcvininwr5c4wyhp16s4bddg7vclxxjm2sfq5h7lifjcxyv46";
|
repo = "libva-intel-driver";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1832nnva3d33wv52bj59bv62q7a807sdxjqqq0my7l9x7a4qdkzz";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
@ -25,10 +27,12 @@ stdenv.mkDerivation rec {
|
|||||||
"--enable-wayland"
|
"--enable-wayland"
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ gnum4 pkgconfig python2 ];
|
nativeBuildInputs = [ autoreconfHook gnum4 pkgconfig python2 ];
|
||||||
|
|
||||||
buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext mesa_noglu wayland ];
|
buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext mesa_noglu wayland ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://cgit.freedesktop.org/vaapi/intel-driver/;
|
homepage = http://cgit.freedesktop.org/vaapi/intel-driver/;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, opam, jbuilder
|
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, jbuilder
|
||||||
, cmdliner, astring, fmt, result
|
, cmdliner, astring, fmt, result
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ let param =
|
|||||||
} else {
|
} else {
|
||||||
version = "0.7.2";
|
version = "0.7.2";
|
||||||
sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
|
sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
|
||||||
buildInputs = [ ocamlbuild opam topkg ];
|
buildInputs = [ ocamlbuild topkg ];
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg, opam }:
|
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg }:
|
||||||
|
|
||||||
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
|
|
||||||
|
|
||||||
buildOcaml rec {
|
buildOcaml rec {
|
||||||
name = "asn1-combinators";
|
name = "asn1-combinators";
|
||||||
@ -15,20 +13,17 @@ buildOcaml rec {
|
|||||||
sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
|
sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ounit topkg opam ];
|
buildInputs = [ ocaml findlib ounit topkg ];
|
||||||
propagatedBuildInputs = [ result cstruct zarith ];
|
propagatedBuildInputs = [ result cstruct zarith ];
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
createFindlibDestdir = true;
|
||||||
|
|
||||||
buildPhase = "ocaml ${ocamlFlags} pkg/pkg.ml build --tests true";
|
buildPhase = "${topkg.run} build --tests true";
|
||||||
|
|
||||||
installPhase = ''
|
inherit (topkg) installPhase;
|
||||||
opam-installer --script --prefix=$out | sh
|
|
||||||
ln -s $out/lib/asn1-combinators $out/lib/ocaml/${ocaml.version}/site-lib
|
|
||||||
'';
|
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test";
|
checkPhase = "${topkg.run} test";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = https://github.com/mirleft/ocaml-asn1-combinators;
|
homepage = https://github.com/mirleft/ocaml-asn1-combinators;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, opam}:
|
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg }:
|
||||||
|
|
||||||
buildOcaml rec {
|
buildOcaml rec {
|
||||||
version = "0.8.3";
|
version = "0.8.3";
|
||||||
@ -11,16 +11,9 @@ buildOcaml rec {
|
|||||||
|
|
||||||
unpackCmd = "tar -xf $curSrc";
|
unpackCmd = "tar -xf $curSrc";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
buildPhase = ''
|
inherit (topkg) buildPhase installPhase;
|
||||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
opam-installer --script --prefix=$out astring.install | sh
|
|
||||||
ln -s $out/lib/astring $out/lib/ocaml/${ocaml.version}/site-lib/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://erratique.ch/software/astring;
|
homepage = http://erratique.ch/software/astring;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
|
||||||
, astring, fmt, fpath, logs, rresult
|
, astring, fmt, fpath, logs, rresult
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
propagatedBuildInputs = [ astring fmt fpath logs rresult ];
|
propagatedBuildInputs = [ astring fmt fpath logs rresult ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, result }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "cmdliner";
|
pname = "cmdliner";
|
||||||
@ -17,20 +17,11 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
nativeBuildInputs = [ ocamlbuild opam topkg ];
|
nativeBuildInputs = [ ocamlbuild topkg ];
|
||||||
buildInputs = [ ocaml findlib ];
|
buildInputs = [ ocaml findlib ];
|
||||||
propagatedBuildInputs = [ result ];
|
propagatedBuildInputs = [ result ];
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
opam-installer --script --prefix=$out | sh
|
|
||||||
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://erratique.ch/software/cmdliner;
|
homepage = http://erratique.ch/software/cmdliner;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchFromGitHub, ocaml, findlib
|
{ stdenv, fetchFromGitHub, ocaml, findlib
|
||||||
, ocamlbuild, topkg, opam
|
, ocamlbuild, topkg
|
||||||
, uri, xmlm, omd, ezjsonm }:
|
, uri, xmlm, omd, ezjsonm }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0snhabg7rfrrcq2ksr3qghiawd61cw3y4kp6rl7vs87j4cnk3kr2";
|
sha256 = "0snhabg7rfrrcq2ksr3qghiawd61cw3y4kp6rl7vs87j4cnk3kr2";
|
||||||
};
|
};
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
buildInputs = [ ocaml ocamlbuild findlib topkg ];
|
||||||
|
|
||||||
buildInputs = [ ocaml opam ocamlbuild findlib topkg ];
|
|
||||||
propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
|
propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ocb-stubblr }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ocaml${ocaml.version}-cpuid-0.1.0";
|
name = "ocaml${ocaml.version}-cpuid-0.1.0";
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ocb-stubblr ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg, opam
|
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
|
||||||
}:
|
}:
|
||||||
|
|
||||||
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
|
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
|
||||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0hfs5zrvimzvjwdg57vrxx9bb7irvlm07dk2yv3s5qhj30zimd08";
|
sha256 = "0hfs5zrvimzvjwdg57vrxx9bb7irvlm07dk2yv3s5qhj30zimd08";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, cmdliner, result, uchar }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, result, uchar }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ocaml${ocaml.version}-fmt-0.8.4";
|
name = "ocaml${ocaml.version}-fmt-0.8.4";
|
||||||
@ -10,13 +10,11 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg cmdliner ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
|
||||||
propagatedBuildInputs = [ result uchar ];
|
propagatedBuildInputs = [ result uchar ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://erratique.ch/software/fmt;
|
homepage = http://erratique.ch/software/fmt;
|
||||||
license = stdenv.lib.licenses.isc;
|
license = stdenv.lib.licenses.isc;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, astring }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, astring }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ocaml${ocaml.version}-fpath-0.7.2";
|
name = "ocaml${ocaml.version}-fpath-0.7.2";
|
||||||
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ astring ];
|
propagatedBuildInputs = [ astring ];
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
|
||||||
, bos, cmdliner, ocamlgraph
|
, bos, cmdliner, ocamlgraph
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
|
propagatedBuildInputs = [ bos cmdliner ocamlgraph ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ocaml${ocaml.version}-integers-0.2.2";
|
name = "ocaml${ocaml.version}-integers-0.2.2";
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, uutf }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf }:
|
||||||
|
|
||||||
let version = "1.0.1"; in
|
let version = "1.0.1"; in
|
||||||
|
|
||||||
@ -10,13 +10,11 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
|
sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
propagatedBuildInputs = [ uutf ];
|
propagatedBuildInputs = [ uutf ];
|
||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild
|
||||||
, topkg, result, lwt, cmdliner, fmt }:
|
, topkg, result, lwt, cmdliner, fmt }:
|
||||||
let
|
let
|
||||||
pname = "logs";
|
pname = "logs";
|
||||||
@ -18,18 +18,13 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg fmt cmdliner lwt ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ];
|
||||||
propagatedBuildInputs = [ result ];
|
propagatedBuildInputs = [ result ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = "${topkg.run} build --with-js_of_ocaml false";
|
||||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build \
|
|
||||||
--with-js_of_ocaml false
|
|
||||||
'';
|
|
||||||
|
|
||||||
inherit (topkg) installPhase;
|
inherit (topkg) installPhase;
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Logging infrastructure for OCaml";
|
description = "Logging infrastructure for OCaml";
|
||||||
homepage = "${webpage}";
|
homepage = "${webpage}";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam, js_of_ocaml
|
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, js_of_ocaml
|
||||||
, jsooSupport ? true
|
, jsooSupport ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ]
|
buildInputs = [ ocaml findlib ocamlbuild topkg ]
|
||||||
++ stdenv.lib.optional jsooSupport js_of_ocaml;
|
++ stdenv.lib.optional jsooSupport js_of_ocaml;
|
||||||
|
|
||||||
buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";
|
buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg
|
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
|
||||||
, cpuid, ocb-stubblr
|
, cpuid, ocb-stubblr
|
||||||
, cstruct, zarith, ppx_sexp_conv, sexplib
|
, cstruct, zarith, ppx_sexp_conv, sexplib
|
||||||
, cstruct-lwt ? null
|
, cstruct-lwt ? null
|
||||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0nhnlpbqh3mf9y2cxivlvfb70yfbdpvg6jslzq64xblpgjyg443p";
|
sha256 = "0nhnlpbqh3mf9y2cxivlvfb70yfbdpvg6jslzq64xblpgjyg443p";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam cpuid ocb-stubblr
|
buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr
|
||||||
ppx_sexp_conv ];
|
ppx_sexp_conv ];
|
||||||
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
|
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
|
||||||
|
|
||||||
@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
inherit (topkg) installPhase;
|
inherit (topkg) installPhase;
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = https://github.com/mirleft/ocaml-nocrypto;
|
homepage = https://github.com/mirleft/ocaml-nocrypto;
|
||||||
description = "Simplest possible crypto to support TLS";
|
description = "Simplest possible crypto to support TLS";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, buildOcaml, fetchpatch, fetchFromGitHub, findlib, topkg, opam, ocb-stubblr
|
{ stdenv, buildOcaml, fetchpatch, fetchFromGitHub, findlib, topkg, ocb-stubblr
|
||||||
, result, uucp, uuseg, uutf
|
, result, uucp, uuseg, uutf
|
||||||
, lwt ? null }:
|
, lwt ? null }:
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ buildOcaml rec {
|
|||||||
sha256 = "0pklplbnjbsjriqj73pc8fsadg404px534w7zknz2617zb44m6x6";
|
sha256 = "0pklplbnjbsjriqj73pc8fsadg404px534w7zknz2617zb44m6x6";
|
||||||
})];
|
})];
|
||||||
|
|
||||||
buildInputs = [ findlib opam topkg ocb-stubblr ];
|
buildInputs = [ findlib topkg ocb-stubblr ];
|
||||||
propagatedBuildInputs = [ result uucp uuseg uutf ] ++
|
propagatedBuildInputs = [ result uucp uuseg uutf ] ++
|
||||||
optional withLwt lwt;
|
optional withLwt lwt;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, opam, topkg, astring }:
|
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, astring }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "ocaml${ocaml.version}-ocb-stubblr-0.1.0";
|
name = "ocaml${ocaml.version}-ocb-stubblr-0.1.0";
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
patches = [ ./pkg-config.patch ];
|
patches = [ ./pkg-config.patch ];
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ astring ];
|
propagatedBuildInputs = [ astring ];
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, opam }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg }:
|
||||||
|
|
||||||
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
|
if !stdenv.lib.versionAtLeast ocaml.version "4.03"
|
||||||
then throw "octavius is not available for OCaml ${ocaml.version}" else
|
then throw "octavius is not available for OCaml ${ocaml.version}" else
|
||||||
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, uutf, result }:
|
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf, result }:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "otfm";
|
pname = "otfm";
|
||||||
@ -17,12 +17,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "054s82539k3kc9na6s47g3scsl04icjahpas7pv5351jmsgqcq3k";
|
sha256 = "054s82539k3kc9na6s47g3scsl04icjahpas7pv5351jmsgqcq3k";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam topkg ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ uutf result ];
|
propagatedBuildInputs = [ uutf result ];
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
|
||||||
|
|
||||||
unpackCmd = "tar xjf $src";
|
unpackCmd = "tar xjf $src";
|
||||||
|
|
||||||
inherit (topkg) buildPhase installPhase;
|
inherit (topkg) buildPhase installPhase;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml, opam,
|
{ stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml
|
||||||
ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring}:
|
, ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, result, nocrypto, astring
|
||||||
|
}:
|
||||||
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in
|
|
||||||
|
|
||||||
buildOcaml rec {
|
buildOcaml rec {
|
||||||
name = "otr";
|
name = "otr";
|
||||||
@ -16,23 +15,15 @@ buildOcaml rec {
|
|||||||
sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr";
|
sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ppx_cstruct ];
|
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv ppx_cstruct ];
|
||||||
propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ];
|
propagatedBuildInputs = [ cstruct sexplib result nocrypto astring ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = "${topkg.run} build --tests true";
|
||||||
ocaml ${ocamlFlags} pkg/pkg.ml build \
|
|
||||||
--tests true
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
inherit (topkg) installPhase;
|
||||||
opam-installer --prefix=$out --script | sh
|
|
||||||
ln -s $out/lib/otr $out/lib/ocaml/${ocaml.version}/site-lib
|
|
||||||
'';
|
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test";
|
checkPhase = "${topkg.run} test";
|
||||||
|
|
||||||
createFindlibDestdir = true;
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://github.com/hannesm/ocaml-otr;
|
homepage = https://github.com/hannesm/ocaml-otr;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg, cppo
|
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg, cppo
|
||||||
, ppx_import, ppx_deriving, yojson, ounit
|
, ppx_import, ppx_deriving, yojson, ounit
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw";
|
sha256 = "1pwfnq7z60nchba4gnf58918ll11w3gj5i88qhz1p2jm45hxqgnw";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild opam cppo ounit ppx_import ];
|
buildInputs = [ ocaml findlib ocamlbuild cppo ounit ppx_import ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ ppx_deriving yojson ];
|
propagatedBuildInputs = [ ppx_deriving yojson ];
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, opam, js_of_ocaml }:
|
{ stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, js_of_ocaml }:
|
||||||
|
|
||||||
buildOcaml rec {
|
buildOcaml rec {
|
||||||
version = "0.8.3";
|
version = "0.8.3";
|
||||||
@ -11,13 +11,11 @@ buildOcaml rec {
|
|||||||
|
|
||||||
unpackCmd = "tar -xf $curSrc";
|
unpackCmd = "tar -xf $curSrc";
|
||||||
|
|
||||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam js_of_ocaml ];
|
buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ result ];
|
propagatedBuildInputs = [ result ];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = "${topkg.run} build --with-js_of_ocaml true";
|
||||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build --with-js_of_ocaml true
|
|
||||||
'';
|
|
||||||
|
|
||||||
inherit (topkg) installPhase;
|
inherit (topkg) installPhase;
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user